【发布时间】:2020-09-23 15:10:15
【问题描述】:
我正在尝试制作一个程序,我可以在其中输入二维数组的大小,二维数组中的最大数字,以及二维数组中某个数字的最大数量,然后用随机数填充它介于 1 和最大数之间。在我的代码中,我指定一个数字应重复的最大次数为 4,但我的输出与此不匹配。有什么建议吗?
这是我的代码:
class Main {
public static void main(String[] args) {
System.out.println(fill(6, 9, 4));
}
public static String fill(int size, int max, int most) {
int[][] list = new int[size][size];
int count = 0;
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < list[i].length; j++) {
int x = (int)((Math.random()* max) + 1);
int y = 0;
count = 0;
for (int k = 0; k < list.length; k++) {
for (int l = 0; l < list[k].length; l++) {
if(list[k][l] == x) count++;
}
}
if(count < most) {
list[i][j] = x;
} else {
while(true) {
y = (int)((Math.random()* max) + 1);
if(y != x) break;
}
list[i][j] = y;
}
System.out.print(list[i][j] + " ");
}
System.out.println();
}
return "";
}
}
这是我的输出:
9 4 6 1 9 1
7 1 4 4 3 2
6 1 4 2 7 9
5 9 4 7 2 5
3 5 3 5 7 4
3 8 8 6 2 6
问题:有6个“4”和2个“8”
【问题讨论】:
标签: java arrays loops for-loop