[英]calculate average with user input
我正在編寫一個程序來計算用戶輸入的平均值。
import java.util.Scanner;
public class mean
{
static Scanner input = new Scanner (System.in);
public static void main (String[] args)
{
double i;
double sum = 0;
int count = 0;
do
{
System.out.println("input");
i = input.nextDouble();
sum = sum + i;
count++;
}while (i != 0);
System.out.println("sum is " + sum + " count is " + (count - 1));
System.out.println("average is " + sum / (count - 1));
}
}
在這里,如果我輸入0,它將計算。 但如果列表中有0。 有人可以指導我很好的條件嗎?
您可以詢問掃描儀掃描儀正在讀取的下一個令牌是否為雙倍,如果不是則會中斷。 示例如下:
import java.util.Scanner;
public class mean
{
static Scanner input = new Scanner (System.in);
public static void main (String[] args)
{
double i;
double sum = 0;
int count = 0;
while(input.hasNextDouble())
{
System.out.println("input");
i = input.nextDouble();
sum = sum + i;
count++;
}
System.out.println("sum is " + sum + " count is " + (count));
System.out.println("average is " + sum / (count));
}
}
如果用戶輸入非數字字符(例如,不是'+',' - ',0-9,'。'等),則循環將中斷,因為input.hasNextDouble()
將返回false。
而不是sum = sum + i
更簡單的方法是sum += i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.