从Java中的数字列表中查找平均值

Phi*_*hil 3 java loops average while-loop

这是我第一次尝试java问题,作为编程任务的一部分.

我必须创建一个程序来计算用户输入的数字列表的平均值.输入0时应终止数据.我的问题是这个"所有的负数都应该被忽视"

由于某种原因,下面的代码不起作用,当我输入一个负数时,它应该被忽略,但由于某种原因它终止了数据

import java.util.*;

class Task_8
  {
public static void main()
  {

    Scanner inputLine = new Scanner(System.in);

    float row, numberentered, numbersum = 0, negativenumber = 0;
    double result, count = 0;


    System.out.println ("Welcome to Task 8 of 10 of my Programming Assignment... Nearly There!");
    System.out.println ("_____________________________________________________________________");
    System.out.println ();
    System.out.println ("Enter as many numbers as you like and this program will tell you the arithmatic mean");
    System.out.println ("Terminate data entry by entering 0");


   do{

       System.out.print ("Please enter a number: ");
        numberentered = inputLine.nextInt();

        count++;

        if (numberentered < 0)
        {
            numberentered  = negativenumber;   
        }

        numbersum = ( numberentered + numbersum ) - negativenumber;

    }

  while  ( numberentered !=0 );

     result = numbersum/count;
     System.out.println ();
     System.out.println ("*************************************");
     System.out.println ();
     System.out.println ("The sum of all of the numbers you entered is " +numbersum);
     System.out.println ("You entered " + count + " numbers");
     System.out.println ("The Average/mean of the numbers that you entered is " + result);


    System.out.println ();
    System.out.println ("*************************************");

  }
}
Run Code Online (Sandbox Code Playgroud)

任何想法家伙?

谢谢

Ern*_*ill 7

变量negativenumber的值始终为零.当您将numberentered设置为negativenumber时,满足"while"条件,并且循环退出.当输入负数时,更好的策略是"继续"跳过循环体的其余部分.


dmc*_*lis 5

如果要忽略负数,则不要在计算中包含它.而是做类似的事情:

if (numberentered > 0)
{
   numbersum += numberentered;
}
Run Code Online (Sandbox Code Playgroud)