gpt4 book ai didi

Java - 在二维数组中插入打乱列表

转载 作者:行者123 更新时间:2023-12-02 03:30:18 24 4
gpt4 key购买 nike

如何将打乱的列表插入二维数组中?

ArrayList<Integer> list = new ArrayList<Integer>();
for (int i=1; i<17; i++) {
list.add(new Integer(i));
}
Collections.shuffle(list);

for (int c=0; c<16 ; c++) {
String number;
number = Integer.toString(list.get(c));
for (int i=0; i<4; i++) {
for(int j=0; j<4; j++) {
JButton btnmix = new JButton();
btnBotonMix[i][j] = btnmix;
btnBotonMix[i][j].setText(number);

}
}
}

我正在获取最后的打印号码:

[0][0] 2                                         [0][0] 4                                       
[0][1] 2 [0][1] 16
[0][2] 2 [0][2] 12
[0][3] 2 [0][3] 6
[1][0] 2 [1][0] 11
[1][1] 2 [1][1] 7
[1][2] 2 [1][2] 3
[1][3] 2 What Im trying to acomplish ----> [1][3] 14
[2][0] 2 [2][0] 5
[2][1] 2 [2][1] 15
[2][2] 2 [2][2] 9
[2][3] 2 [2][3] 10
[3][0] 2 [3][0] 13
[3][1] 2 [3][1] 1
[3][2] 2 [3][2] 8
[3][3] 2 [3][3] 2

但是当我在 cicle 中打印我的数字变量时,我得到了所有非重复的无序列表(正如它的意思)

最佳答案

您将每个按钮设置 16 次,因为您的代码位于 3 个 for 循环内。外部 for 循环的每次迭代,按钮文本都会设置为另一个数字,但对于迭代中的所有按钮来说都是相同的。所以它最终将是最后一次迭代的数字。

试试这个:

int c = 0;

for (int i=0; i<4; i++) {
for(int j=0; j<4; j++){
String number = Integer.toString(list.get(c));
c++;

JButton btnmix = new JButton();
btnBotonMix[i][j] = btnmix;
btnBotonMix[i][j].setText(number);
}
}

关于Java - 在二维数组中插入打乱列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38193343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com