本文示範如何使用 BufferedReader 讀取一行以空格分隔的整數,轉換為 int[] 陣列,並單次遍歷同時找出最大值與最小值。
package com.itheima;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ArrayMinMax {
public static void main(String[] args) throws IOException {
System.out.println("請輸入一組整數,以空格分隔:");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
String[] numStrs = input.trim().split("\\s+");
int[] values = new int[numStrs.length];
for (int i = 0; i < numStrs.length; i++) {
values[i] = Integer.parseInt(numStrs[i]);
}
// 單次遍歷找最大最小值
int max = values[0], min = values[0];
for (int v : values) {
if (v > max) max = v;
if (v < min) min = v;
}
System.out.printf("MAX: %d, MIN: %d%n", max, min);
}
}
split("\\s+"):以一或多個空白字元分割,避免多空格產生空字串。Integer.parseInt():字串轉整數,需捕獲 NumberFormatException。Arrays.stream(values).max().getAsInt()。