我有一个循环,可以循环显示0-200,如果数字与列表中的数字匹配。我将其放在freq [] []中。但是,考虑到该数字的大小必须为[10] [20],因此在将找到的数字放入freq [] []时遇到了问题。
public static void example(List<Integer> numbers, List<Integer> elements, int[][] list){
int index = 0;
int[][] freq = new int[10][20];
for (int i = 0; i < 200; i++){
for (int x = 0; x < list.length; x++){
for (int y = 0; y < list[x].length; y++){
if (list[x][y] == i){
freq[][index] = i;
}
}
}
}
}
答案 0 :(得分:0)
将其保留为
if (list[x][y]== i){
freq[x][y] = i;
}
else {
freq[x][y] = 0; // if not matched
}
因此freq将是具有10行20列的二维数组。
-列表中第5个索引位置的元素在10 * 20数组中将处于0 * 5位置。 -列表中第199位的元素在10 * 20数组中的第9 * 19位。
答案 1 :(得分:0)
首先,您要创建一个循环以读取200个数字,该循环要循环2d数组以按每个数字比较其元素,并确定条件是否存在于列表中,但是在代码freq [] []中,此代码将每个number在freq数组中达到条件,否则达到0
for (int i = 0; i <= 200; i++) {
for (int j = 0; j < list.length; j++) {
for (int k = 0; k < list[j].length; k++) {
if(list[j][k]==i)
freq[j][k]=i;
}
}
}
如果您使用`
else
freq[j][k]=0;
`
这意味着它将开始将数字或0放入数组中,最后,您得到的数组与您想要的不匹配,因此,如果没有其他条件,我将对其进行测试并为我工作