大家好,我刚刚开始用Java编程,但是我有一个问题,我正在制作一个游戏,如果用户将数字放在1以下或9以上,则用户需要输入1到9之间的数字。错误,用户需要再次输入数字,但是当用户输入无效数字时,程序会给出错误并停止工作,我该如何解决?
我的代码
public void game()
{
Scanner inputnumber = new Scanner(System.in);
System.out.println("Please select a number (1-9): ");
int number = inputnumber.nextInt();
if (number <1 || number > 9)
{
System.out.println("Please select a number: " + number);
System.out.println("This value is out of range. Please enter a value between 1 and 9.");
while (number <1 || number > 9)
{
return;
}
}
else{
System.out.println("That is a valid entry!");
}
}
}
答案 0 :(得分:0)
这也可以达到目的。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner inputnumber = new Scanner(System.in);
int n;
do{
System.out.println("Please select a number (1-9): ");
n = inputnumber.nextInt();
} while ( n >= 1 && n <= 9);
}
}
您可以为此使用do while循环。 待办事项处理异常以支持您的用例。
答案 1 :(得分:-1)
您可以尝试的一件事是使用try catch
块。
例如:
public class ab {
int inputNumber;
public static void main(String[] args) {
// TODO Auto-generated method stub
takeInput();
}
public static void takeInput()
{
Scanner inputnumber = new Scanner(System.in);
System.out.println("Please select a number (1-9): ");
try {
int number = inputnumber.nextInt();
if (number >=1 && number <=9) {
System.out.println("Valid Number");
}
else
{
takeInput();
}
}
catch (Exception e) {
// TODO: handle exception
System.out.println("Invalid number");
takeInput();
}
}
}