编写一个字符界面的JavaApplication程序,接受用户输入的10个整数,比较并输出其中的最大值、最小值、负数之和、偶数数数量
时间: 2024-10-09 16:13:10 浏览: 86
编写一个字符界面的Java Application程序,可以按照以下步骤完成:
1. 首先,创建一个新的Java类,例如`MainApp`,并使用`java.awt`包下的`Console`类来获取控制台输入。
```java
import java.awt.Console;
import java.util.Scanner;
public class MainApp {
public static void main(String[] args) {
Console console = System.console();
// 用户提示
System.out.println("请输入10个整数:");
int[] numbers = new int[10]; // 存储输入的整数数组
Scanner scanner = new Scanner(console);
// 循环接收用户输入
for (int i = 0; i < 10; i++) {
while (!scanner.hasNextInt()) { // 如果不是数字则提示用户重新输入
System.out.print("请输入第" + (i+1) + "个整数: ");
scanner.next();
}
numbers[i] = scanner.nextInt(); // 将输入的整数添加到数组中
}
// 计算最大值、最小值、负数之和和偶数数量
int max = findMax(numbers);
int min = findMin(numbers);
int negativeSum = sumOfNegatives(numbers);
int evenCount = countEvens(numbers);
// 输出结果
System.out.println("最大值: " + max);
System.out.println("最小值: " + min);
System.out.println("负数之和: " + negativeSum);
System.out.println("偶数数量: " + evenCount);
}
private static int findMax(int[] array) {
return Arrays.stream(array).max().orElseThrow(IllegalStateException::new);
}
private static int findMin(int[] array) {
return Arrays.stream(array).min().orElseThrow(IllegalStateException::new);
}
private static int sumOfNegatives(int[] array) {
return Arrays.stream(array)
.filter(num -> num < 0)
.mapToInt(Integer::intValue)
.sum();
}
private static int countEvens(int[] array) {
return Arrays.stream(array)
.filter(num -> num % 2 == 0)
.count();
}
}
```
这个程序首先通过控制台循环接收用户输入的10个整数,然后利用Java 8的Stream API计算最大值、最小值、负数之和以及偶数的数量,并最后将结果打印出来。
阅读全文