簡體   English   中英

用戶輸入計算平均值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM