首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 從控制台讀取整數陣列並找出最大最小值

     編輯:Java 相關知識

陣列輸入與極值查找完整指南

本文示範如何使用 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。
  • 單迴圈同時更新 max/min,時間複雜度 O(n),空間 O(1)。

進階擴充

  • 若陣列極大,可考慮串流 API:Arrays.stream(values).max().getAsInt()。
  • 輸入驗證:檢查空輸入、非數字字元、長度限制。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved