寻找最大值
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;
}
}
浙公网安备 33010602011771号