50之间?

s8vozzvw  于 2021-07-03  发布在  Java
关注(0)|答案(3)|浏览(241)

从我开始学习java已经有几天了,现在我把我学到的东西弄得乱七八糟。在这个方法中,我试图确保用户输入一个介于[1-50]之间的数字。
我这样做至少可以说有点奇怪,
所以我很感谢有经验的程序员的反馈。

public static int humanNumber()
{

    Scanner sc = new Scanner (System.in);
    System.out.println ("enter a number between 1 and 50.");
    int x = sc.nextInt();

        if ( x < 1 || x > 50)
        {
          do
          {
            System.out.println ("enter A number between 1 and 50!!");
            x = sc.nextInt();
          } while (x<1 || x>50);
        }

    return x;
}
omqzjyyz

omqzjyyz1#

我觉得你的方法看起来不错-很有效:)另一种方法是:

public static int humanNumber() {
     Scanner sc = new Scanner (System.in);
     int x = 0;
     while(x<1 || x>50) {
           System.out.println ("enter A number between 1 and 50!!");
            x = sc.nextInt();
     }
     return x;
}

优点是系统输出和sc.nextint()的重复次数更少

ahy6op9u

ahy6op9u2#

是:删除循环外的重复代码:

Scanner sc = new Scanner (System.in);
int x;
do {
    System.out.println ("enter A number between 1 and 50!!");
    x = sc.nextInt();
} while (x<1 || x>50);
return x;
niknxzdl

niknxzdl3#

而不是 if 和一个 do - while 回路,你可以用一个 while 回路:

while (x < 1 || x > 50) {
    System.out.println ("Enter a number between 1 and 50!");
    x = sc.nextInt();
}

相关问题