public class zuoye2 { public static void main(String[] arge) { String [][]zifu=new String[7][7]; for(int a=0;a<7;a++) { for(int b=0;b<=7;b++) { if(a==b || a+b==6) { zifu[a][b]="o"; }else { zifu[a][b]="*"; } System.out.println(); } System.out.println(); } } }
时间: 2024-04-17 14:24:38 浏览: 90
zuoye2
在你提供的代码中,存在一个小错误。在内层循环中,你将`b`的范围设置为`b<=7`,但是数组索引是从0开始的,所以应该将范围修改为`b<7`。
此外,你没有正确地打印二维数组的元素。在内层循环结束后,你应该打印`zifu[a][b]`的值,而不是在每次循环开始时打印一个空行。
下面是修改后的代码:
```java
public class zuoye2 {
public static void main(String[] arge) {
String[][] zifu = new String[7][7];
for (int a = 0; a < 7; a++) {
for (int b = 0; b < 7; b++) {
if (a == b || a + b == 6) {
zifu[a][b] = "o";
} else {
zifu[a][b] = "*";
}
System.out.print(zifu[a][b]);
}
System.out.println();
}
}
}
```
这样修改后,程序会正确创建一个7行7列的二维数组,并根据条件将相应位置的元素设置为"o"或"*",然后打印出二维数组的内容。注意,我使用`System.out.print()`来打印每个元素,而不是使用`System.out.println()`,这样可以在同一行上打印每个元素。然后,在内层循环结束后使用`System.out.println()`打印换行符,以便每行的元素能够分行显示。
阅读全文