怎么做,为这个代码做while循环?

我有这个java代码:

public class Ages {
public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);  

    int value = 0;
    String name;
    int age;



        System.out.print("Hey, what's your name? ");
        name = keyboard.next();
        System.out.println();

        System.out.print("Ok, " + name + ", how old are you? ");
        age = keyboard.nextInt();
        System.out.println();

           do{
            if(age < 16){
            System.out.println("You can't visit in the museum, " + name + ".");

            if(age < 18);
                 System.out.println("You can't visit in the park, " + name + ".");
            }
            if (age < 25){
                System.out.println("You can't visit if you have a car, " + name + ".");
            }
            if (age >= 25){
                System.out.println("You can do anything, " + 
                    name + ".");

            }
            while(age > 300);
            System.out.println("It's not correct..Try Again, " + name + 
             ".");


            }
}

并且我需要该用户输入错误的答案,他将再次收到“您几岁?”的问题,并且在他再次尝试后..我该怎么办?谢谢您的帮助!!:)

YCF_L

其中的同时,块是不正确的,你必须使用:

System.out.println("It's not correct..Try Again, " + name + ".");

do {
    if (age < 16) {
        System.out.println("You can't visit in the museum, " + name + ".");

        if (age < 18);
        System.out.println("You can't visit in the park, " + name + ".");
    }
    if (age < 25) {
        System.out.println("You can't visit if you have a car, " + name + ".");
    }
    if (age >= 25) {
        System.out.println("You can do anything, "
                + name + ".");

    }
    //while(age > 300);<<----------wrong position 

    System.out.println("It's not correct..Try Again, " + name + ".");

} while (age > 300);//<<----------correct position 

当条件接缝不正确时,您必须检查最小和最大年龄,而不仅仅是最大年龄,因此可以使用:

 while (age < minAge || age > maxAge );

因此,如果年龄小于最大值或最小值,则最大值会再次重复

如果无法执行,则此三个

if (age < 18);//<<----------------note the ; it mean your if is end
    System.out.println("You can't visit in the park, " + name + ".");

四个

相反,您可以在循环中读取年龄:

System.out.print("Hey, what's your name? ");
name = keyboard.next();
System.out.println();

do {

    System.out.print("Ok, " + name + ", how old are you? ");
    age = keyboard.nextInt();
    System.out.println();
    ....
}while(..);

希望这可以使您对问题有所了解。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章