java - 如何确保用户仅输入 0 到 10 之间的数字?

标签 java arrays loops for-loop

我已经创建了一个包含所有主题的数组,名为 subjectName。此代码的目标是确保用户仅输入有效的数字(1.0 到 10.0 之间)。但我不知道该怎么做。我创建了一个 if 语句,如果主题名不在 0 到 10 之间,则让它返回,但这不起作用。我不知道如何解决这个问题。

编辑:subjectName 是每个主题的名称,因此它是一个字符串。科目成绩是双倍的。两者都是数组。忘了说了。

这是我的代码:

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;
            }

最佳答案

if(subjectGrade[i] < 0.0 || subjectGrade[i] > 10.0) {
    i--; // subract one so we doesn't skip the one student who made incorrect input
    // you can put return or continue here, but not necessary
}

关于java - 如何确保用户仅输入 0 到 10 之间的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40443168/

相关文章:

javascript - 需要循环帮助来使用 Javascript 构建表

java - 字符串 `matches` 似乎在 JSR223 断言中不起作用

java - 如何在数组中添加 40 以下的数字

java - 可以使用java小程序进行录音吗?

arrays - 通过在前端或末尾插入来对数组进行排序

JavaScript 展平嵌套数组

javascript - Angular.forEach 不返回对象中的最后一项

javascript - 如何从对象数组中创建数量最多的项目的对象映射?

java - 程序没有完全完成

java - JPA Spring 查询 sql