Java输入和输出

时间:2013-09-21 15:40:20

标签: java

您好我的代码应该在下面执行此说明但是根本没有得到它

用户可以根据需要在控制台上输入任意数量的正浮点数。零(或一个 信号输入结束(不能输入更多数字)。输入程序后 显示器 输入的最小数字(分钟) 输入的最大数字(最大) 输入的所有数字的平均值(平均值) 即使您了解这些分配,也不要使用数组。

示例应如下所示

  

输入数字:\ n   1 2 3 4 5 6 0 \ n   输入的数字:6 \ n   最低:1.00 \ n   最大值:6.00 \ n   意思是:3.50 \ n

     

输入数字:\ n   0 \ n   没有输入数字。

public class LoopStatistics {

public static void main(String[] args) {

    double max, min, sum=0, input, mean=0;
    int counter = 0;

    TextIO.putln("enter numbers:");

    do
    {
        input = TextIO.getDouble();

        min = input;
        max = input;

        counter++;

        if (input > max)
            max = input;

        if ( input < min)
            min = input;

        sum = sum + input;



        } while( input != 0);
    mean = sum / counter;
    TextIO.putf("numbers entered:%d\n", counter);
    TextIO.putf("minimum:%f\n", min);
    TextIO.putf("maximum:%f\n", max);
    TextIO.putf("mean:%f", mean);





}

}

1 个答案:

答案 0 :(得分:1)

您在测试maxmin是否大于/小于当前max / min之前指定了min = input; max = input;

public static void main(String[] args) throws Exception {
    final Scanner scanner = new Scanner(System.in);
    double max = 0;
    double min = Double.POSITIVE_INFINITY;
    double sum = 0;
    int counter = 0;
    while (true) {
        final double d = scanner.nextDouble();
        if (d <= 0) {
            break;
        }
        sum += d;
        max = Math.max(max, d);
        min = Math.min(min, d);
        ++counter;
    }
    System.out.println("Max=" + max);
    System.out.println("Min=" + min);
    System.out.println("Ave=" + sum / counter);
}

这意味着他们都等于最后输入的人。

整理代码并删除这些调用会产生:

{{1}}