我有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
答案 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