首先,我是一个完全陌生的Java和试图理解POO。
表示:
在一个类中,我定义了一个名为inputCapacity的方法。我希望我的用户输入1到4之间的数字。为了验证,我尝试实现了一个小条件。:当User犯错误时,函数循环正常,但是返回的userResponse对应于第一个输入!我需要在哪里重新分配变量?
精度测量:
- Java 13
- 控制台应用
static int inputCapacity() {
Scanner in = new Scanner(System.in);
System.out.println("Indiquez le nombre de personnes (max 4) : ");
int userResponse = in.nextInt();
if (userResponse < 1 || userResponse > 4) {
System.out.println("Saisissez un nombre valide (max 4).");
inputCapacity();
}
return userResponse;
}
第二次调用inputCapacity()
时,第二次调用的结果将被忽略。只需在调用前添加一个return语句就可以解决问题。
static int inputCapacity() {
Scanner in = new Scanner(System.in);
System.out.println("Indiquez le nombre de personnes (max 4) : ");
int userResponse = in.nextInt();
if (userResponse < 1 || userResponse > 4) {
System.out.println("Saisissez un nombre valide (max 4).");
return inputCapacity();
}
return userResponse;
}