java - 用Java计算平均成绩

标签 java

我想创建一个程序,在其中输入数字和成绩,计算机将仅计算及格分数的平均值,但如果分子或分母为零,会发生什么,我该如何解决这个问题?

public class Grades {

    public static void main (String[] args) {
        double grade1, grade2, grade3, avg, sum=0;
        int counter = 0;
        Scanner input = new Scanner(System.in);
        System.out.println("Enter your first Grade");
        grade1 = input.nextDouble();
        if (grade1 >= 90)
        {
            System.out.println("excellent");
            counter++;
            sum += grade1;
        }
        else if (grade1 < 90 && grade1 >= 70)
        {
            System.out.println("very good");
            counter++;
            sum += grade1;
        }
        else if (grade1 < 70 && grade1 >= 60)
        {
            System.out.println("fair");
            counter++;
            sum += grade1;
        }
        else if (grade1 < 60)
        {
            System.out.println("you fail");
        }
        System.out.println("Enter your second Grade");
        grade2 = input.nextDouble();
        if (grade2 >= 90)
        {
            System.out.println("excellent");
            counter++;
            sum += grade2;
        }
        else if (grade2 < 90 && grade2 >= 70)
        {
            System.out.println("very good");
            counter++;
            sum += grade2;
        }
        else if (grade2 < 70 && grade2 >= 60)
        {
            System.out.println("fair");
            counter++;
            sum += grade2;
        }
        else if (grade2 < 60)
            System.out.println("you fail");
        System.out.println("Enter your third Grade");
        grade3 = input.nextDouble();
        if (grade3 >= 90)
        {
            System.out.println("excellent");
            counter++;
            sum += grade3;
        }
        else if (grade3 < 90 && grade3 >= 70)
        {
            System.out.println("very good");
            counter++;
            sum += grade3;
        }
        else if (grade3 < 70 && grade3 >= 60)
        {
            System.out.println("fair");
            counter++;
            sum += grade3;
        }
        else if (grade3 < 60)
            System.out.println("you fail");
        avg=sum/counter;
        System.out.println("your average is : "+avg);


    }
}

最佳答案

对于此类事情,我们使用异常处理,但如果您是初学者,您可以通过应用 if 条件来检查天气数字或分母是否为零来修复它

else if (grade3 < 60)
    System.out.println("you fail");
if(sum == 0 || counter == 0) {
    System.out.println("Invalid sum or total count");
} else {
    avg = sum / counter;
}
System.out.println("your average is : " + avg);

关于java - 用Java计算平均成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26314782/

相关文章:

java - 如何告诉 Glassfish 保留已编译的 JSP?

java - 检查和删除 Java HashMap 中的元素

JDK 64 位上的 Java 和 MSMQ

Java - 最高效的随机访问多线程列表

java - 将文件夹内的所有文件作为函数的输入传递

eclipse IDE中的java文件编程

java - 如何在一定的空间输出有效数字列表?(数独)

java - 我怎样才能让我的编码器/解码器只使用某些 ASCII 字符

java - Java 中是否有 libxml2.HTMLparser.htmlSAXParseDoc 的等效项?

包含生成的 JSTL : not interpreted 的 Java 自定义标记