我已经对所有主题进行了数组排序,命名为subjectName。此代码的目的是确保用户仅输入有效的数字(介于1.0和10.0之间)。但我不知道该怎么做。我创建了一个if语句,如果使用者名称不在0到10之间,则返回它,但是它不起作用。我不确定该如何解决。
编辑:subjectName是每个主题的名称,因此它是一个字符串。 subjectGrade是双精度型。两者都是阵列。忘了说。
这是我的代码:
for (int i = 0; i < subjectName.length; i++) {
Scanner input = new Scanner(System.in);
System.out.print("What is your grade for: " + subjectName[i] + "? ");
subjectGrade[i] = input.nextDouble();
if ( subjectGrade[i] < 0.0 || subjectGrade[i] > 10.0) {
return;
}
最佳答案
您应该使用while
循环。成绩无效时提出问题。
while(subjectGrade[i] < 0.0 || subjectGrade[i] > 10.0)
{
System.out.print("What is your grade for: " + subjectName[i] + "? ");
subjectGrade[i] = input.nextDouble();
}
(代替
if
)无论如何,您的错误是
return
语句不会重复上一条命令或其他内容。它从函数返回一个值...关于java - 如何确保用户仅输入0到10之间的数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40443168/