2016-09-24 160 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); 
相關問題