總結:有一定基礎的人,應該發現第一個程序可以運行,其實它有個致命的錯誤。有誰能一眼看出來呢?第二個程序是對的。
這個題目求最大值,最小值,平均值我不會求,不知道這個if判斷放在類的外面還是main函數里面
我不知道方法在哪里。沒有思路。當我把循環放在main函數里面的時候,
package com.c2; import java.util.Scanner; //求輸入一組數據,求其最大值,最小值,平均值 public class Qi { public static void main(String[] args) { Scanner c = new Scanner(System.in); int a[] = new int[3]; float s = 0; int max = a[0]; int min = a[0]; for (int i = 0; i < a.length; i++) { System.out.println("請輸入第" + (i + 1) + "個數---"); a[i] = c.nextInt();// 將輸入的10個數值賦值給數組 // 這里為什么不能把s初始化,即 int s=0;問題沒有解決 s += a[i]; if (max < a[i]) max = a[i]; if{ min = a[i]; } } System.out.println("最大值為:" + max + "最小值為;" + min + "總和為:" + s + "平均值為:" + s / a.length); } }
(2)同上
package com.c2; import java.util.Scanner; //從鍵盤輸入10個數,輸出最大值,最小值,平均值; //輸入的最大值, public class DA {// 我搞不懂,方法,循環什么時候放在main里面,什么時候放在類外部。。。到底是哪里不理解、、、所謂 // 的方法,與循環是兩碼事 public static void count(int[] a) { float s = 0; int max = a[0]; int min = a[0]; for (int i = 0; i < a.length; i++) { if (max < a[i]) { max = a[i]; } if (min > a[i]) { min = a[i]; } s += a[i]; } System.out.println("最大值:" + max + "最小值:" + min + "總和:" + s + "平均值:" + s / a.length); } public static void main(String[] args) { Scanner c = new Scanner(System.in); int a[] = new int[4];// 分配4個長度的內存空間 for (int i = 0; i < a.length; i++) { System.out.println("請輸入第" + (i + 1) + "個數----"); a[i] = c.nextInt();// 一步一步來,總是慌,總是不長腦子.此處意為輸入的數值賦值給數組 } DA.count(a); } }