How to get average from given values

前端 未结 3 1384
我寻月下人不归
我寻月下人不归 2021-01-28 15:33

How do I average?. I am suppose to find the average of the GPA, total of students, and the total of GPA. example:

input: 4

相关标签:
3条回答
  • 2021-01-28 16:04

    If the problem is that you're getting the wrong answer, the reason is this loop:

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

    Presumably you intend the loop to exit when the user enters a negative number. What's wrong with it is that it will include the negative number in the total and count. You can rewrite the loop like this:

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

    (Other solutions are possible). Later in your code, you will need to guard against the first number being negative. If that happens, count will be 0 and you want to avoid dividing by 0 and printing nonsense results.

    0 讨论(0)
  • 2021-01-28 16:16

    You are getting the input in your loop at this line

    GPA = keyboard.nextDouble();
    

    Problem is that, it will get another input and count will be incremented by 1. So your total will be 5. You can probably make it in this way

    while (GPA >=0)
    {
        GPA = keyboard.nextDouble();
        if (GPA >=0)
        {
           total = total + GPA;
           count++;
        }
        else
           break;
    }
    
    0 讨论(0)
  • 2021-01-28 16:22

    Just swap the order of your statements in the while loop and your code should work fine. In this case,your check (whether to add the i/p to the total) will be done after you key in. Hence,when you key in -1,the you won't enter the while loop and the last value of -1 won't be added.

    while (GPA >=0) {

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

    }

    0 讨论(0)
提交回复
热议问题