显示输入的最小值,最大值,平均值和数字

时间:2016-09-24 16:38:35

标签: java

这是我到目前为止所得到的,但无法弄清楚如何显示 用户输入的数字,我知道它与count方法有关,但无法弄清楚如何将其实现。

import java.util.Scanner;

public class Test {

    @SuppressWarnings("resource")
    public static void main(String[] arg) {
        int count = 0;
        double sum = 0;
        double maximum = 0;
        double minimum = 100;

        Scanner kb = new Scanner(System.in);

        double input = -1;
        // Main processing loop...
        do {

            // Validation loop...
            do {
                System.out.println("Please enter a number or 0 to quit:");
                input = kb.nextDouble();
                kb.nextLine();
            } while (input > 100);

            if (input > 0) {
                count++;
                sum += input;

                if (maximum < input) {
                    maximum = input;
                }

                if (minimum > input) {
                    minimum = input;
                }
            }
        } while (input != 0);

        double average = (sum / count);

        System.out.println(
                        "The average is: " + average);
        System.out.println(
                        "Minimum of entered numbers: " + minimum);
        System.out.println(
                        "Maximum of entered numbers: " + maximum);

    }

}

3 个答案:

答案 0 :(得分:2)

将输入的项目添加到列表中。

您创建一个列表:

List<Integer> list = new ArrayList<>();

然后将项目添加到列表中:

list.add(input);

最后,您可以收集所有输入,并且可以更好地使用。

优点是您可以返回所有输入并再次使用它们。

要获得尺寸,您可以同时使用:

System.out.println(count);       -- using your variable
System.out.println(list.size()); -- get from the list

答案 1 :(得分:2)

如果您尝试使用输入,则需要将其保存到某处。数组将是您的最佳选择(数组,ArrayList,...)。

  1. 遍历数组以获得最低和最高的数字。
  2. 将所有数字的总和除以数组的大小以获得平均值。
  3. 编辑:如果您想添加负数,请将if (input > 0)更改为if (input != 0)(我猜测您是否已将输入添加到数组中)。

答案 2 :(得分:1)

只需更改if条件逻辑使用if (input != 0 ) {而不是if if(input > 0 )

尝试如下。

              if (input != 0 ) {
....
}

System.out.println("User enters total Numbers: "+count);