java - 如何从给定值获取平均值

标签 java average

我如何平均?我想找到 GPA 的平均值、学生总数以及 GPA 的总和。 示例:

输入: 4 4 4 4

输出: 学生总数:4

总 GPA:16

平均 GPA: 4

import java.util.Scanner;

public class practice {
    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        int count = 0;
        double GPA = 0, total = 0, average;

        System.out.println("Enter GPA");

        while (GPA >= 0) {
            GPA = keyboard.nextDouble();
            total = total + GPA;
            count++;
        }

        average = total / count;

        System.out.println("Total students: " + count);
        System.out.println("Total GPA " + total);
        System.out.println("Average GPA " + average);
    }
}

最佳答案

如果问题是你得到了错误的答案,原因就是这个循环:

while (GPA >=0)
{
    GPA = keyboard.nextDouble();
    total = total + GPA;
    count++;
}

大概您打算在用户输入负数时退出循环。它的问题在于它会将负数包含在总数和计数中。您可以像这样重写循环:

GPA = keyboard.nextDouble();
while (GPA >=0)
{
    total = total + GPA;
    count++;
    GPA = keyboard.nextDouble();
}

(其他解决方案也是可能的)。稍后在代码中,您将需要防止第一个数字为负数。如果发生这种情况,count 将为 0,并且您希望避免除以 0 并打印无意义的结果。

关于java - 如何从给定值获取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516797/

相关文章:

sql - 这段代码中的 IF 语句有什么问题?

python - 从字典列表中获取平均值

Swift 使用 reduce 和计算增量平均值

java - 使用 Java 在 CMD 中运行简单的 CECopy

java - 如何以编程方式设置对齐(右或左)TextView?

java - MarkLogic Java 客户端 API - 修补元数据和文档内容

Java内存收集使用

java - 共享首选项 - bundle Intent

mysql - SQL 将 COUNT 和 AVG 查询与 SELECT 结合起来

algorithm - 这是一个准确的平均数还是指数移动平均数公式?