我想创建16*16的按钮组,这段代码哪里错了 int i=0,j=0; char letter='a'; for(;i<16;i++){ for(;j<16;j++){ letter=(char)('a'+i*16+j); JButton button=new JButton(); frame.add(button); } }
时间: 2023-07-15 22:14:08 浏览: 30
你的代码中,问题在于第二个for循环的`j`没有被重置为0。第一个for循环结束后,`j`的值变成了16,第二个for循环就不会再次执行了。因此,你可以将第二个for循环中的`j`初始化为0即可解决这个问题。
以下是修改后的代码:
```
int i=0,j=0;
char letter='a';
for(;i<16;i++){
for(j=0;j<16;j++){
letter=(char)('a'+i*16+j);
JButton button=new JButton();
frame.add(button);
}
}
```
现在,你应该能够成功创建一个16*16的按钮组了。
相关问题
我想创建16*16的按钮组,这段代码哪里错了?for(;i<16;i++){ for(;j<16;j++){ JButton button=new JButton(letter); System.out.println(i); frame.add(button); } }
你的代码中有两个问题:
1. 变量 `j` 的初始值没有被重置为0,所以第二个循环就不会执行。你可以在第一个循环的开头加上 `j = 0;` 来解决这个问题。
2. 变量 `letter` 没有被更新,每个按钮都会显示相同的内容。你需要为每个按钮设置不同的内容,可以使用一个嵌套的循环来生成不同的字符,例如:
```java
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 16; j++) {
char letter = (char) ('A' + i*16 + j); // 根据行列生成不同的字符
JButton button = new JButton(String.valueOf(letter));
frame.add(button);
}
}
```
这样就会生成一个16x16的按钮组,每个按钮上显示不同的字符。
翻译这段代码的意思int i = 0, j = strlen(key), k = strlen(Plaintext),m=0; char result[MAXSIZE] = {0};
这段代码的意思是:定义了四个变量i、j、k、m,其中i的初始值为,j的值为key字符串的长度,k的值为Plaintext字符串的长度,m的初始值为。同时,定义了一个字符数组result,长度为MAXSIZE,且所有元素的初始值为。