Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个简单的Java平均值计算器_Java_Loops - Fatal编程技术网

一个简单的Java平均值计算器

一个简单的Java平均值计算器,java,loops,Java,Loops,我是一名Java的新学生(在家自学),我制作了一个工作完美的平均计算器,但我想添加一个条件,防止用户输入大于100的数字,因为分数通常以100结束,我正在努力寻找正确的方法。 这是我的密码: import java.util.Scanner; class books{ public static void main(String args[]){ Scanner userInput = new Scanner(System.in); int total

我是一名Java的新学生(在家自学),我制作了一个工作完美的平均计算器,但我想添加一个条件,防止用户输入大于100的数字,因为分数通常以100结束,我正在努力寻找正确的方法。 这是我的密码:

import java.util.Scanner;

class books{
    public static void main(String args[]){
        Scanner userInput = new Scanner(System.in);
        int total = 0;
        int grade = 0;
        int average;
        int counter = 0;
        System.out.println("Please enter all your grades:");
        while(counter < 12){
            grade = userInput.nextInt();
            total = total + grade;
            counter++;
            if(grade > 100){
                System.out.println("Please enter a valid grade");

            }
        }
        average = total/12;
        System.out.println("You average is " + average);
    }
}
import java.util.Scanner;
课堂用书{
公共静态void main(字符串参数[]){
扫描仪用户输入=新扫描仪(System.in);
int-total=0;
int等级=0;
整数平均;
int计数器=0;
System.out.println(“请输入您的所有成绩:”);
while(计数器<12){
grade=userInput.nextInt();
总数=总数+等级;
计数器++;
如果(等级>100){
System.out.println(“请输入有效等级”);
}
}
平均数=总数/12;
System.out.println(“您的平均值是”+平均值);
}
}

谢谢。

在使用输入的
等级
值之前,您应该验证它,如果它无效,则继续循环:

while(counter < 12){
    grade = userInput.nextInt();
    if (grade > 100) {
        System.out.println("Please enter a valid grade");
    } else {
        total = total + grade;
        counter++;
    }
}
解决办法是:

import java.util.Scanner;

class books{
    public static void main(String args[]){
        Scanner userInput = new Scanner(System.in);
        int total = 0;
        int grade = 0;
        int average;
        int counter = 0;
        System.out.println("Please enter all your grades:");
        while(counter < 12){
            grade = userInput.nextInt();
            if(grade > 100 || grade < 0){
                System.out.println("Please enter a valid grade again!");
            }else{
                total = total + grade;
                counter++;
            }
        }
        average = total/12;
        System.out.println("You average is " + average);
    }
}
import java.util.Scanner;
课堂用书{
公共静态void main(字符串参数[]){
扫描仪用户输入=新扫描仪(System.in);
int-total=0;
int等级=0;
整数平均;
int计数器=0;
System.out.println(“请输入您的所有成绩:”);
while(计数器<12){
grade=userInput.nextInt();
如果(坡度>100 | |坡度<0){
System.out.println(“请再次输入有效分数!”);
}否则{
总数=总数+等级;
计数器++;
}
}
平均数=总数/12;
System.out.println(“您的平均值是”+平均值);
}
}

功劳归于科科;)

谢谢!这就是我要找的,“continue”关键字,我只是想让它跳过输入的错误值,而不是将其计算为平均值……请注意,由于计算在
else
块中,您实际上不需要
continue
命令。顺便问一句,您有任何学习Java的书籍或视频系列推荐给我吗?现在我正在通过观看youtube上的“thenewboston”系列节目学习,这很好,但我想从另一个“角度”学习。)网上有很多免费的书籍和视频。只需在谷歌上搜索一些,你就会找到音调。我添加了| |运算符,因此值也不会低于0:)
import java.util.Scanner;

class books{
    public static void main(String args[]){
        Scanner userInput = new Scanner(System.in);
        int total = 0;
        int grade = 0;
        int average;
        int counter = 0;
        System.out.println("Please enter all your grades:");
        while(counter < 12){
            grade = userInput.nextInt();
            if(grade > 100 || grade < 0){
                System.out.println("Please enter a valid grade again!");
            }else{
                total = total + grade;
                counter++;
            }
        }
        average = total/12;
        System.out.println("You average is " + average);
    }
}