java - 2D数组问题

时间:2015-04-09 20:59:09

标签: java

我有2d数组的问题。我想在每一行打印20行,带有a..j字母。我无法使用以下代码打印第9,19,20行。此外,我的代码打印19x9行NULL。有任何想法吗?!谢谢。那是我的代码:

public class cinema_seats {
    String[][] seats = new String[20][10];  

    for(int row=0; row<seats.length-1; row++){
        for(int column=0; column<seats[row].length-1; column++){

            if(row!=0)
                System.out.print("row" + row + " " + 'a' + " " + 'b' + " " + 'c' + " " + 'd' + " " + 'e' + " " + 'f' + " " + 'g' + " " + 'h' + " " + 'i' + " " +'j' + "\n")                     
            else            
                System.out.println();
                row++;                  
        }
        System.out.println();           
    }       
    for(int row=0; row<seats.length-1; row++){
        for(int column=0; column<seats[row].length-1; column++){                
            System.out.print(seats[row+1][column]);]        
        }
        System.out.println();           
    }               
}//main     
}//class

1 个答案:

答案 0 :(得分:0)

主要问题是您正在使用length-1

应该是这样的:

for(int row=0; row < seats.length; row++){
    for(int column=0; column <s eats[row].length; column++){

......或者像这样:

for(int row=0; row <= seats.length-1; row++){
    for(int column=0; column <= seats[row].length-1; column++){

另外,您从未使用任何值初始化seats[][]。这就是打印null的原因。

我刚修复了所有的编译错误(有很多),这里有一些至少运行的代码,并且还填充了seats矩阵;

另外,如果你想要打印出来&#34;第1行和第34行;通过&#34;第20行和第34行,只需在指定行号时添加一个,因为数组基于零。大小为20的数组索引为0到19;

编辑:发表评论后,我认为这与你想要的很接近:

public class cinema_seats {
  public static void main(String[] args){

    String[][] seats = new String[20][10];  

      String seat = "abcdefghijklmnopqrstuvwxyz";

      for(int row=0; row<seats.length; row++){
          for(int column=0; column<seats[row].length; column++){    
            seats[row][column] = new String (Character.toString(seat.charAt(column))); 
          }
      }

      for(int row=0; row<seats.length; row++){
          System.out.print("row: " + (row + 1) + " ");
          for(int column=0; column<seats[row].length; column++){                
              System.out.print(seats[row][column] + " ");        
          }
          System.out.println();           
      }
  }

}//main    

输出:

row: 1 a b c d e f g h i j 
row: 2 a b c d e f g h i j 
row: 3 a b c d e f g h i j 
row: 4 a b c d e f g h i j 
row: 5 a b c d e f g h i j 
row: 6 a b c d e f g h i j 
row: 7 a b c d e f g h i j 
row: 8 a b c d e f g h i j 
row: 9 a b c d e f g h i j 
row: 10 a b c d e f g h i j 
row: 11 a b c d e f g h i j 
row: 12 a b c d e f g h i j 
row: 13 a b c d e f g h i j 
row: 14 a b c d e f g h i j 
row: 15 a b c d e f g h i j 
row: 16 a b c d e f g h i j 
row: 17 a b c d e f g h i j 
row: 18 a b c d e f g h i j 
row: 19 a b c d e f g h i j 
row: 20 a b c d e f g h i j