这是学校的一项任务,我一直试图解决几个小时,我们要创建一个包含3行10列瑞典字母的矢量图。显示图表并在相同的空间中显示它,字母应该是,它应该是一个字符而不是字符串。现在看起来我在输出中只有三列,因此缺少大部分字母表。 为什么会这样?为什么当我而不是使用“alpha.length”使用3和10时,我会得到一个“java.lang.ArrayIndexOutOfBoundsException”并且不会打印出反向列表?
public static void main(String[] args) {
char [][]alpha ={
{'A','B','C','D','E','F','G','H','I','J'},
{'K','L','M','N','O','P','Q','R','S','T',},
{'U','V','W','X','Y','Z','Å','Ä','Ö',},
};
for (int i = 0; i < alpha.length; i++){
for (int j = 0; j < alpha.length; j++){
System.out.print(alpha [i][j] + " ");
}
System.out.println();
}
for (int r = alpha.length-1; r >= 0; r--){
for (int s = alpha.length-1; s >=0; s--){
System.out.print(alpha[r][s]+ " ");
}
System.out.println();
}
} //main
答案 0 :(得分:0)
alpha
包含3个数组,因此其长度为3。
您的代码现在通过一个3x3大小的数组,这就是为什么它只打印3列(如注释中提到的zapl)。
尝试这样的事情:
...
for (int i = 0; i < alpha.length; i++){
for (int j = 0; j < alpha[i].length; j++){
System.out.print(alpha [i][j] + " ");
}
System.out.println();
}
for (int r = alpha.length-1; r >= 0; r--){
for (int s = alpha[r].length-1; s >=0; s--){
System.out.print(alpha[r][s]+ " ");
}
System.out.println();
}
...
这样会像alpha[0][0]
(A)那样alpha[0][1]
(B)...... alpha[0][9]
(J),alpha[1][0]
(K),{{1 (L)...... alpha[1][1]
(T),alpha[1][9]
(U)...到alpha[2][0]
(Ö)。
它的顺序是相反的。
还要注意数组末尾的逗号,不需要它们。 (我的意思是'T'和'Ö'之后)。