java编写程序, 从命令行参数输入10个整数并保存在数组中,用循环语句分别求数组中最大、最小、这10个整数的和、平均值。
时间: 2024-11-03 17:17:23 浏览: 27
semasio-test:给定一个整数数组,从数组中找出两个数的最大乘积,即 3 的倍数
在Java中,你可以通过`System`类的`args`属性获取命令行参数,并将它们转换成整数存入数组。下面是一个简单的示例,展示了如何完成这个任务:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommandLineNumbers {
public static void main(String[] args) {
// 检查命令行参数数量是否足够
if (args.length < 10) {
System.out.println("请输入至少10个整数");
return;
}
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < 10; i++) {
try {
int num = Integer.parseInt(args[i]);
numbers.add(num);
} catch (NumberFormatException e) {
System.out.println("第" + (i+1) + "个参数不是一个有效的整数,请重新输入");
return;
}
}
// 计算数组中的最大值、最小值、总和和平均值
int max = Collections.max(numbers);
int min = Collections.min(numbers);
int sum = numbers.stream().mapToInt(Integer::intValue).sum();
double average = (double) sum / numbers.size();
System.out.println("最大值: " + max);
System.out.println("最小值: " + min);
System.out.println("数字之和: " + sum);
System.out.println("平均值: " + average);
}
}
```
在这个程序中,我们首先检查了是否有足够的命令行参数。然后,我们将前10个参数依次转换成整数并添加到列表中。如果某个参数无法转换成整数,我们就捕获`NumberFormatException`并提示用户。最后,我们使用`Collections.max()`和`min()`函数找到最大值和最小值,利用`Stream API`计算总和并除以元素个数得到平均值。
阅读全文