用扫描仪循环

时间:2016-04-27 21:52:01

标签: java loops input java.util.scanner

我试图编写代码,要求我插入我的年龄。如果它低于10,我希望它再问我3次。如果它高于10,它会说" welcome"。我无法做到这一点。

package newProject;
import java.util.Scanner;
    public class mainclass {
        public static void main(String[] args) {

            System.out.println("Enter your age");
            Scanner age= new Scanner(System.in);

            int userage= age.nextInt();
            if(userage<10){
                for(int x = 3;x<3;x++){
                    System.out.println(userage+ "is too young");
                    System.out.println("Enter your age");
                    int userage1= age.nextInt();
                }
            }else{
                System.out.println("welcome");
            }
       }
  }

3 个答案:

答案 0 :(得分:2)

无论你的程序是什么意思,你的错误都是你在x变量中设置的值。您必须将迭代3次的值设置为0。

    System.out.println("Enter your age");
    Scanner age= new Scanner(System.in);

    int userage= age.nextInt();
    if(userage<10) {
    // You have to set x to 0 not 3
    for(int x = 0;x<3;x++){
        System.out.println(userage + "is too young");
        System.out.println("Enter your age");
        int userage1= age.nextInt();}
    }
    else{
        System.out.println("welcome");
    }

答案 1 :(得分:0)

问题在于:

for(int x = 3;x<3;x++)

只要for小于3,您就设置x循环运行,但您已声明x等于3.因此,条件{永远不会遇到{1}},因此永远不会运行循环。这是你应该做的事情:

x<3

顺便说一下,请使用适当的缩进来格式化代码。没有缩进就很难阅读。

答案 2 :(得分:0)

package newProject;
import java.util.Scanner;
public class mainclass {
    public static void main(String[] args) {
        System.out.println("Enter your age");
        Scanner age= new Scanner(System.in);

        int userage= age.nextInt();
        if(userage<10){
            for(int i = 0;i<3;i++){
                System.out.println(userage+ "is too young");
                System.out.println("Enter your age");
                int userage1= age.nextInt();
            }
        }

       else{
            System.out.println("welcome");
       }
   }
}