我需要编写一个Java应用程序,它将一个数字作为用户的输入并验证输入以确保它在1到10之间。如果输入不在正确的范围内,应用程序应该 使用循环继续询问用户输入,直到正确范围内的值为止 输入
这是我到目前为止的代码:
import java.util.Scanner;
class Number {
public static void main(String args[]) {
int j = 0;
int J = 0;
Scanner input = new Scanner(System.in);
System.out.println("Enter a number between 1 and 10: ");
J = input.nextInt();
while(J > 10){
j = input.nextInt();//read input from user
System.out.println();
if (j >=1 && j <=10 ) {
System.out.println("Validated input: " + j);
input.close();
}//end if statement
else {
System.out.println("Enter a number between 1 and 10");
j = input.nextInt();
}//end else statement
}//end while loop
}//end main method
}//end class
我可以让代码在没有while循环的情况下工作,但很明显它不会连续运行,我已经完成了问题,并且在问题再次出现之前输入了两次数字并且验证出错消息。
所以我的问题是:“如何让while循环正确运行,我可能没有正确编写,所以有人可以帮助我”
我正在使用eclipse
答案 0 :(得分:1)
[...]使用循环继续询问用户输入,直到中的值为止 已输入正确的范围。
while(j < 1 || j > 10)
这就是它。仅使用循环打印指令。没有必要两次使用相同的行。并摆脱if/else
。你的循环已经在检查条件。一旦你离开它,条件就满足了。
答案 1 :(得分:0)
以下是您需要做的事情的说明。还要确保将来可以合理地命名参数,而不是i,j,x。例如,在这种情况下,您想将其命名为inputNumber或类似的东西。
print 'Please insert number'
int input = scanner.next
While (input not in range) {
print 'error please input number in range'
input = scanner.next
}
...process
exit