题目来自《JAVA语言程序设计》P227-6.3**
代码如下
package HomeWork_1;
import java.util.Scanner;
public class CountNums {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int i, j, f = 0;
// 新建数组,a[i][0]存储输入的数,a[i][1]用于统计a[i][0]出现的次数。
int[][] a = new int[100][100];
/*
* 由于java中a[i][j]默认值为0,故而省略以下步骤。
* for (i = 0; i < 100; ++i) {
* a[i][1] =0;
* }
*/
// 判断新输入的数是否已经存在,若已存在,a[j][1]++;若不存在a[j][0]存储新输入的数。
// 循环至输入0结束。
do {
i = in.nextInt();
for (j = 0; j < 100; ++j) {
if (i == a[j][0]) {
a[j][1]++;
f = 1;
break;
}
}
if (f == 0) {
for (j = 0; j < 100; ++j) {
if (a[j][0] == 0) {
a[j][0] = i;
break;
}
}
}
f = 0;
} while (i != 0);
// 输出输入的数及各数出现次数。
for (j = 0; j < 100; ++j) {
if (a[j][0] != 0) {
System.out.print(a[j][0]);
f = a[j][1] + 1;
System.out.println(" occured " + f + " times.");
}
}
}
}
运行结果
10 14 15 62 72 14 62 50
0
10 occured 1 times.
14 occured 2 times.
15 occured 1 times.
62 occured 2 times.
72 occured 1 times.
50 occured 1 times.
学习心得
用动态数组应该更好