【发布时间】:2015-06-21 21:33:51
【问题描述】:
因此,对于家庭作业,我必须编写一个程序,打印出默认情况下用- 表示的航空公司座位表(即以表明它们是“开放的”并且有资格预订)。随后,它应该提示用户他们想要购买的座位并将数组中该特定位置的值更改为X。
这就是我的代码现在的样子 - 它可以很好地打印出表格,但是当我尝试更改位置时,它给了我一个错误:
import java.util.*;
public class AirlineSeeting {
public static void main(String[]args) {
int row = 0;
int colum = 0;
System.out.println("Enter n:");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[][] SeetingChart = new String[n][4];
for (int i = 1; i <= 4; i++) {
System.out.printf("\t%d\t", i);
}
System.out.println("");
for (int j = 1; j <= n; j++) {
System.out.printf("%d", j);
for (int k = 1; k <= 4; k++) {
System.out.print("\t-\t");
}
System.out.println("");
}
for( int i = 0 ; i < SeetingChart.length; i++){
System.out.println("What row would you like to sit in");
row = scanner.nextInt();
System.out.println("What colum would you like to sit in");
colum = scanner.nextInt();
if (SeetingChart[row][colum].equals("X")){
System.out.println("Please pick a seat that is avalable");
}
else if (SeetingChart[row][colum].equals("-")){
SeetingChart[row][colum] = "X";
}
for (int j = 1; j <= 4; j++) {
System.out.printf("\t%d", j);
}
System.out.println("");
for (int j = 1; j <= n; j++) {
System.out.printf("%d", j);
for (int k = 1; k <= 4; k++) {
System.out.print("\t-");
}
System.out.println("");
}
}
}
}
这是我执行上述代码时得到的输出:
Enter n:
9
1 2 3 4
1 - - - -
2 - - - -
3 - - - -
4 - - - -
5 - - - -
6 - - - -
7 - - - -
8 - - - -
9 - - - -
What row would you like to sit in
2
What colum would you like to sit in
2
Exception in thread "main" java.lang.NullPointerException
at AirlineSeeting.main(AirlineSeeting.java:30)
对此的任何帮助将不胜感激! 谢谢!
【问题讨论】:
-
它会给你什么错误?
-
"[...] 它给了我一个错误。" -> 哪个错误?
-
我编辑了问题
-
@TravisWittmann 回答您的问题后,请将其标记为已回答。
标签: java arrays multidimensional-array