繁体   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