Java 2D图表不会打印出来

时间:2015-11-30 11:48:16

标签: java arrays vector charts

这是学校的一项任务,我一直试图解决几个小时,我们要创建一个包含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

1 个答案:

答案 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'和'Ö'之后)。