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)
任何想法家伙?
谢谢
变量negativenumber的值始终为零.当您将numberentered设置为negativenumber时,满足"while"条件,并且循环退出.当输入负数时,更好的策略是"继续"跳过循环体的其余部分.
如果要忽略负数,则不要在计算中包含它.而是做类似的事情:
if (numberentered > 0)
{
numbersum += numberentered;
}
Run Code Online (Sandbox Code Playgroud)