java 输入n,然后输入n个整数,编程实现统计其中最大的三个数
时间: 2024-11-22 14:36:16 浏览: 32
在Java中,你可以使用优先队列(PriorityQueue)数据结构来实现这个功能。优先队列默认按照元素值排序,所以我们可以很容易地获取到前三个最大的数字。以下是实现的一个简单示例:
```java
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字的数量 n:");
int n = scanner.nextInt();
PriorityQueue<Integer> queue = new PriorityQueue<>(); // 使用最大堆初始化
for (int i = 0; i < n; i++) {
System.out.println("请输入第 " + (i+1) + " 个数字:");
int num = scanner.nextInt();
queue.offer(num); // 添加数字到队列
if (queue.size() > 3) { // 如果队列大小超过3,弹出最小的
queue.poll();
}
}
// 队列顶部的就是最大的三个数
System.out.println("最大的三个数是:");
for (int i = 0; i < 3; i++) {
System.out.println(queue.peek()); // 输出并移除队首元素
queue.poll();
}
scanner.close();
}
}
```
在这个程序中,用户首先输入数字的数量n,然后逐个输入数字。每次输入后,我们会将数字添加到队列中,并检查是否需要弹出队列底部的较小元素(即当前队列大于3时)。最后,我们从队列顶部取出并打印出最大的三个数字。
阅读全文