2016-09-24 158 views
0

这是迄今为止,但无法弄清楚如何显示用户输入的数字 的数量,我知道它与这个数字有关计数方法,但无法弄清楚如何将其实现到此。显示最小,最大,平均值和输入的数字

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); 

    } 

} 
+1

只是不'调用println(计数)'... – nhouser9

+0

,谢谢,我得到了工作,但是当我运行它,那只能说明与显示最低的正数,而不是最低沿进入正数否定的。 – Justin

回答

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 
2

为了让你可以同时使用的尺寸。一个数组将是你最好的选择(数组,ArrayList,...)。

  1. 遍历数组以获得最低和最高数字。
  2. 将所有数字的总和除以数组大小得到平均值。

编辑:如果你想添加负数改变if (input > 0)if (input != 0)(我猜你要添加的输入到阵列从这里)。

1

只是改变了,如果condtion逻辑使用if (input != 0) {,而是如果if(input > 0)

尝试像下面的。

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

System.out.println("User enters total Numbers: "+count); 
相关问题