Java程序输入数组(数组内的数介于1到50之间,且输入数字个数不超过20次)找出出现次数最多的数
时间: 2024-05-01 20:16:57 浏览: 90
给定一个整数数组,其中元素的取值范围为0到10000,求其中出现次数最多的数
5星 · 资源好评率100%
以下是一个Java程序,可以输入一个数组,找出其中出现次数最多的数:
```
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[20];
int n = 0;
while (sc.hasNextInt()) {
int x = sc.nextInt();
if (x < 1 || x > 50) {
System.out.println("输入数字必须介于1到50之间");
continue;
}
arr[n++] = x;
if (n == 20) break;
}
int maxCount = 0, maxNum = -1;
for (int i = 0; i < n; i++) {
int count = 0;
for (int j = 0; j < n; j++) {
if (arr[j] == arr[i]) count++;
}
if (count > maxCount) {
maxCount = count;
maxNum = arr[i];
}
}
System.out.println("出现次数最多的数是:" + maxNum + ",出现了 " + maxCount + " 次");
}
}
```
首先创建一个长度为20的整型数组,用于存储输入的数字。然后使用一个循环不断读入整数,直到输入数字个数达到20或输入结束。在读入每个数字时,需要判断其是否在1到50之间,如果不是则需要重新输入。
接下来,使用两个嵌套的循环,对数组中的每个元素进行遍历,统计其出现次数。最后,找出出现次数最多的数,并输出结果。
需要注意的是,如果输入的数字个数少于20,则只需要对数组中前n个元素进行遍历。如果输入的数字个数超过20,则只会取前20个数字进行处理。
阅读全文