编写一个程序,将数字从键盘读入int[ ]类型的数组中。你可以假设数组中最多有50个元素。你的程序最多允许输入50个数字。输出为一个两列的列表。第一列列出了不同的数组元素;第二列是每个元素的出现次数。
时间: 2023-04-25 14:01:36 浏览: 201
C++将数字从键盘读入数组并统计数字出现的次数,元素从大到小的顺序排序
以下是一个示例程序,可以实现将数字从键盘读入int[]类型的数组中,并输出每个元素的出现次数:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] nums = new int[50];
int count = ;
System.out.println("请输入数字,以结束:");
int num = scanner.nextInt();
while (num != && count < 50) {
nums[count++] = num;
num = scanner.nextInt();
}
int[] distinctNums = new int[count];
int[] counts = new int[count];
int distinctCount = ;
for (int i = ; i < count; i++) {
int n = nums[i];
boolean found = false;
for (int j = ; j < distinctCount; j++) {
if (distinctNums[j] == n) {
counts[j]++;
found = true;
break;
}
}
if (!found) {
distinctNums[distinctCount] = n;
counts[distinctCount] = 1;
distinctCount++;
}
}
System.out.println("数字\t出现次数");
for (int i = ; i < distinctCount; i++) {
System.out.println(distinctNums[i] + "\t" + counts[i]);
}
}
}
程序首先创建一个长度为50的int数组nums,用于存储输入的数字。然后通过循环读取用户输入的数字,将其存储到数组中,直到输入或者数组已满为止。
接着,程序创建两个长度为count的int数组distinctNums和counts,用于存储不同的数字和它们的出现次数。程序遍历nums数组中的每个元素,如果该元素已经在distinctNums数组中出现过,则将其对应的counts数组元素加1;否则将该元素添加到distinctNums数组中,并将其对应的counts数组元素设为1。
最后,程序输出一个两列的列表,第一列列出了不同的数组元素,第二列是每个元素的出现次数。
阅读全文