我声明了一个2D char数组并且它未初始化。当我尝试使用嵌套循环在控制台(我使用eclipse)中打印元素时,它不会从数组中打印任何内容,这是正确的,因为它填充了null。但是,奇怪的部分是我无法在外循环中打印任何东西。不仅外部循环块之后的println()
语句不会打印任何内容。下一个工作。这是代码,
private char oceanMap[][] = new char[10][10];
private void showOceanMap() {
System.out.println(" 0 1 2 3 4 5 6 7 8 9 ");
int c = 0, r = 0;
for(int i=0; i<10; i++) {
r++;
System.out.println("Hey");
for(int j=0; j<10; j++){
c++;
System.out.print(this.oceanMap[i][j]+"-");
}
//s+="|"+Integer.toString(i);
}
System.out.println(" 0 1 2 3 4 5 6 ");
System.out.println(" 0 1 2 3 4 5 6 7 8 9 ");
System.out.println("r = "+r+" and c = "+c);
}
当我调用方法showOceanMap()
时,它会给出以下输出:
在jdoodle中运行时相同的代码正在按预期工作。
当我初始化数组时,它在两个ide中工作正常。这意味着它是由于初始化问题,但为什么其他println()
语句不起作用?我没有得到任何异常或错误。
解释会有所帮助。