Yunyuzuiluo

寻找最大值

package com.ljy001;

import java.util.Scanner;

public class xxx {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

    System.out.println("请输入数组元素,元素之间用逗号分隔(例如:1.2, -3.4, 5.6):");
    String input = scanner.nextLine();

    double[] numbers = parseInputToArray(input);

    if (numbers.length > 0) {
        double max = findMax(numbers);
        System.out.println("数组中的最大值是: " + max);
    } else {
        System.out.println("输入中没有有效的数字。");
    }

    scanner.close();
}

private static double[] parseInputToArray(String input) {
    String[] parts = input.split(",");
    double[] numbers = new double[parts.length];
    int validCount = 0;

    for (String part : parts) {
        try {
            numbers[validCount] = Double.parseDouble(part.trim());
            validCount++;
        } catch (NumberFormatException e) {
            System.out.println("忽略无效输入: " + part);
        }
    }

    if (validCount < numbers.length) {
        double[] validNumbers = new double[validCount];
        System.arraycopy(numbers, 0, validNumbers, 0, validCount);
        numbers = validNumbers;
    }

    return numbers;
}


private static double findMax(double[] numbers) {
    double max = numbers[0];
    for (int i = 1; i < numbers.length; i++) {
        if (numbers[i] > max) {
            max = numbers[i];
        }
    }
    return max;
}

}

posted on 2025-03-07 14:59  刘晋宇  阅读(15)  评论(0)    收藏  举报

导航