gpt4 book ai didi

Java - 从列表中分配正确的数字

转载 作者:行者123 更新时间:2023-12-01 09:44:12 25 4
gpt4 key购买 nike

我有一个介于 1 和 16 之间的非重复随机列表和一个 2D 数组,我想做的是将数字 16 分配给位置 btn[3][3],所有其他位置都可以有其他剩余列表值 (1 - 15)

代码:

int c = 0;
int v = 0;
for (int i=0; i<4; i++) {
v=0;
for(int j=0; j<4; j++){


String number = Integer.toString(list.get(c));
c++;

if (i == 3 && j == 3){
JButton btnmix = new JButton();
btnBotonMix[i][j] = btnmix;
btnBotonMix[i][j].setBounds(70+90*(i%10),v+90*(i/10),90,90);
btnBotonMix[i][j].setText(number);
}

else{
JButton btnmix = new JButton();
btnBotonMix[i][j] = btnmix;
btnBotonMix[i][j].setBounds(70+90*(i%10),v+90*(i/10),90,90);
btnBotonMix[i][j].setText(number);
}

v = v + 90;
}
}

我正在寻找的是始终在我的索引 btn[3][3] 中分配数字 16

所以我想得到这个(数字 16 总是在 [3][3] 中,所有剩余的数字在随机位置中):

[0][0] 15
[0][1] 11
[0][2] 14
[0][3] 5
[1][0] 12
[1][1] 3
[1][2] 8
[1][3] 9
[2][0] 6
[2][1] 2
[2][2] 13
[2][3] 1
[3][0] 4
[3][1] 7
[3][2] 10
[3][3] 16

最佳答案

    // always put 16 last
final int lastNumber = 16;
// take it out from the list from the start
list.remove(Integer.valueOf(lastNumber));
for (int i = 0; i < 4; i++) {
v = 0;
for (int j = 0; j < 4; j++) {

String number;
if (i == 3 && j == 3) {
number = Integer.toString(lastNumber);
} else {
number = Integer.toString(list.get(c));
c++;
}

JButton btnmix = new JButton();
btnBotonMix[i][j] = btnmix;
btnBotonMix[i][j].setBounds(70 + 90 * (i % 10), v + 90 * (i / 10), 90, 90);
btnBotonMix[i][j].setText(number);

v = v + 90;
}
}

关于Java - 从列表中分配正确的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38199900/

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