/*設計程式,輸入數字,一直到輸入的數字為0才結束,然後顯示輸入數字的總和、平均值、最大值和最小值 */
|
import java.io.*;
public class ccc { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str; int x; // 輸入的數 int sum = 0; // 總和 int y = 0; // 輸入數的個數 int max = 0; // 最大值 int min = Integer.MAX_VALUE; // 最小值 do { System.out.print("請輸入一個數字:"); str = br.readLine(); x = Integer.parseInt(str); System.out.println("您輸入的數字是:" + x); if (max < x) max = x; if (min > x && x!=0) min = x; y++; sum = sum + x; } while (x != 0); System.out.println("您輸入的總和是:" + sum); System.out.println("您輸入的最大值:" + max); System.out.println("您輸入的最小值:" + min); System.out.println("您輸入的總和平均:" + (sum / (y - 1)));
} }
|
輸出結果:
請輸入一個數字:10
您輸入的數字是:10
請輸入一個數字:20
您輸入的數字是:20
請輸入一個數字:30
您輸入的數字是:30
請輸入一個數字:40
您輸入的數字是:40
請輸入一個數字:50
您輸入的數字是:50
請輸入一個數字:60
您輸入的數字是:60
請輸入一個數字:70
您輸入的數字是:70
請輸入一個數字:80
您輸入的數字是:80
請輸入一個數字:90
您輸入的數字是:90
請輸入一個數字:100
您輸入的數字是:100
請輸入一個數字:0
您輸入的數字是:0
您輸入的總和是:550
您輸入的最大值:100
您輸入的最小值:10
您輸入的總和平均:55
附註: 差別在 min 的初始值..如果一開就給0 ,就己經是最小值了,再跟誰比還是最小,所以永遠是0
這裡我把 min 給了Integer的最大值給它,較為適合 , 另外在 if 的判別過程只要 x輸入不為0 ,if迴圈才會執行,如果為0,if迴圈不執行...
12:00要交...我1:30才看到..不知還來的及嗎....