如何从给定的值平均(How to get average from given values)

2019-08-17 18:44发布

如何平均? 我想找到平均的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);
    }
}

Answer 1:

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

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和印刷废话结果划分。



Answer 2:

你在这行让在循环输入

GPA = keyboard.nextDouble();

问题是,它会得到另一种输入和计数将增加1。所以一共是5,你也许可以把它用这种方式

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


Answer 3:

只是交换你的语句的顺序在while循环,你的代码应该很好地工作。 在这种情况下,您的检查(是否添加I / P总)将被您键入后,因此,当你键入-1做的,你就不会进入while循环和最后一个值 - 1不会被添加。

而(GPA> = 0){

total = total + GPA;
GPA = keyboard.nextDouble();
count++;

}



文章来源: How to get average from given values
标签: java average