#java
#java
Вопрос:
Прошло несколько дней с тех пор, как я начал изучать 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;
}
Ответ №1:
Вместо if
и do
— while
цикла вы могли бы использовать while
цикл:
while (x < 1 || x > 50) {
System.out.println ("Enter a number between 1 and 50!");
x = sc.nextInt();
}
Ответ №2:
Я думаю, что ваш способ выглядит нормально — он работает 🙂 Другим способом было бы сделать:
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;
}
Преимущество заключается в том, что на одно повторение system out и sc.nextInt() меньше
Ответ №3:
Да: удалите повторяющийся код вне цикла:
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;