声明一个数组lst 先获取传入了多少个数字 读取整数,判断是否符合“0到100之间的整数”标准,如果不符合则丢弃数据并结束程序,如果读到0则结束读取 对数组进行排序Arrays.sort(lst) 对数组进行遍历,计算每个数出现的次数并输出
时间: 2024-09-23 15:04:21 浏览: 34
首先,让我们创建一个名为`lst`的整数数组。你可以通过下面的代码声明一个大小未知的动态数组:
```java
int[] lst = new int[0]; // 初始为空数组
Scanner input = new Scanner(System.in); // 创建一个输入流用于接收用户输入
// 获取用户输入的数量
System.out.println("请输入数字的数量:");
int numElements = input.nextInt();
lst = new int[numElements]; // 扩展数组以容纳所有输入
// 读取并验证整数
for (int i = 0; i < numElements; i++) {
System.out.print("请输入第 " + (i+1) + " 个数字 (0到100之间): ");
int num = input.nextInt();
if (num < 0 || num > 100) { // 如果不符合范围,忽略并跳出循环
System.out.println("数字超出范围,已跳过.");
continue;
} else if (num == 0) { // 遇到0时结束读取
break;
}
lst[i] = num; // 否则将数字存入数组
}
// 对数组进行排序
Arrays.sort(lst);
// 遍历数组并统计每个数出现的次数
Map<Integer, Integer> countMap = new HashMap<>();
for (int value : lst) {
countMap.put(value, countMap.getOrDefault(value, 0) + 1);
}
// 输出每个数及其出现次数
countMap.forEach((number, count) -> {
System.out.println("数字 " + number + " 出现了 " + count + " 次");
});
// 结束输入流
input.close();
阅读全文