例1:求最高分與最低分。
求最大值與最小值的思想是:就像是打擂台那樣,最開始擂台上站着最厲害/最小的一個叫max/min,然后其他人都來跟這個max/min比較打擂台,輸了的那個就下台,所以擂台上能夠始終保持最大/最小的那個數。
步驟:首先把數組的第一個數賦值給變量max和min,分別表示最大值和最小值,
再依次將數組的其他數值與當前的max和min進行比較,如果比當前的大/小,就替換掉
知道數組最后一個值比較完,最后輸出最大值和最小值。
public class Example{ public static void main(String[] args) { int score[] = { 67, 89, 87, 69, 90, 100, 75, 90 }; // 初始化數組 int max = 0; // 定義變量保存到最大值 int min = 0; // 定義變量保存到最小值 max = min = score[0]; // 把第1個元素的內容賦值給max和min for (int x = 0; x < score.length; x++) { // 循環求岀最大和最小 if (score[x] > max) { // 依次判斷后續元素是否比max大 max = score[x]; // 如果大則修改max內容 } if (score[x] < min) { // 依次判斷后續的元素是否比min小 min = score[x]; // 如果小,則修改min內容 } } System.out.println("最高成績:" + max); // 輸出最大值 System.out.println("最低成績:" + min); // 輸出最小值 } }
例2:統計商品信息。
在一個貨架上有 5 件商品,編寫程序,在輸入商品價格之后輸出最高價格、總價格和平均價格。
首先要創建一個包含 5 個空元素的價格數組,然后使用 for 循環使用戶從控制台錄入商品的價格,並將價格保存至數組中,再使用一個 for 循環來遍歷該數組,求出最高價格和總價格。最后用總價格除以商品數量算出平均價格。
接收數值:
for (int i = 0; i < 5; i++) { prices[i] = input.nextInt(); // 循環向數組中元素賦值 }
求和思想:for循環遍歷數組每一個元素並將其相加,結果保存在sum中。
求平均值思想:平均值=總和/數組中的元素個數(可以用數組名.length表示)
public static void main(String[] args) { // 聲明數組 int[] prices = new int[5]; int maxPrice = 0, avgPrice = 0, sumPrice = 0; Scanner input = new Scanner(System.in); System.out.println("請輸入5件商品的價格:"); for (int i = 0; i < 5; i++) { prices[i] = input.nextInt(); // 循環向數組中元素賦值 } // 計算價格最大值 maxPrice = prices[0]; // 假設最大值為第一個元素 for (int index = 1; index < prices.length; index++) { sumPrice += prices[index]; // 匯總價格 if (prices[index] > maxPrice) { maxPrice = prices[index]; } } // 平均價格=總價格/商品數量 avgPrice = sumPrice / prices.length; System.out.println("本貨架上商品的總價格為:" + sumPrice + " 平均價格為:" + avgPrice + " 最高價格為:" + maxPrice); }
該程序運行后的結果如下所示。
請輸入5件商品的價格: 88 64 44 62 79 本貨架上商品的總價格為:249 平均價格為:49 最高價格為:88