所以基本上,我有两个班级(到目前为止)“座位”和“剧院”以及我的主要方法。
我要制作影院预订系统,为此我需要使用阵列创建一个“影院”。但是我希望能够制作尽可能多的电影院,因为我可能会添加其他变量,例如(时间,电影等),我想我会创建一个包含一系列座位的“剧院”类在它的构造函数中,然后有一个显示数组的方法,但是我不知道如何执行它。
这是我到目前为止所拥有的“
主类:
public class CinemaSystem {
public static void main(String[] args) {
// Creating a cinema.
Theatre cinema1 = new Theatre();
Scanner scan = new Scanner(System.in);
Scanner scan1 = new Scanner(System.in);
System.out.print("Welcome to the Theatre Booking System. (QUIT to exit)"
+ "\nWould you like to purchase tickets or list available seats?"
+ "(/Purchase/List/Help)");
String answer, answer2;
answer = scan.nextLine();
int count = 0;
if (answer.equalsIgnoreCase("purchase")) {
cinema1.DisplayTheatre(Seat
y[][]
);
} else if (answer.equalsIgnoreCase("list")) {
} else if (answer.equalsIgnoreCase("help")) {
// Code for help
} else if (answer.equalsIgnoreCase("quit")) {
System.exit(-1);
} else {
do {
System.out.print("Sorry, incorrect input please enter"
+ " a valid input (Purchase/List/Help or QUIT to exit");
answer = scan1.nextLine();
count++;
if (answer.equalsIgnoreCase("purchase")) {
// Code for purchase
} else if (answer.equalsIgnoreCase("list")) {
// Code for list
} else if (answer.equalsIgnoreCase("help")) {
// Code for help
} else if (answer.equalsIgnoreCase("quit")) {
System.exit(-1);
} else if (count == 3) {
System.out.print("Are you stupid? Purchase/List/Help or Quit are your options. ... Terminating...");
System.out.println();
System.exit(1);
}
} while (!answer.equalsIgnoreCase("purchase")
|| !answer.equalsIgnoreCase("list")
|| !answer.equalsIgnoreCase("help")
|| !answer.equalsIgnoreCase("quit"));
}
}
}
座位等级:
public class Seat {
public Seat() {
}
private String type;
private boolean status;
public String GetType() {
return type;
}
public void SetType(String x) {
type = x;
}
public boolean SetStatus() {
return status;
}
public void GetStatus(boolean x) {
status = x;
}
}
剧院课程:
public class Theatre{
public Theatre() {
Seat B = new Seat();
Seat S = new Seat();
Seat G = new Seat();
Seat y[][] = {
{B, B, B, B, B, B, B, B},
{B, B, B, B, B, B, B, B},
{B, B, B, B, B, B, B, B},
{B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B},
{B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B},
{B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B},
{B, B, B, B, S, S, S, S, S, S, S, S, S, S, B, B, B, B},
{B, B, B, B, S, S, S, S, S, G, G, G, G, G, S, S, S, S, S, B, B, B, B},
{B, B, B, B, S, S, S, S, S, G, G, G, G, G, S, S, S, S, S, B, B, B, B},
{S, S, S, S, S, S, S, S, S, G, G, G, G, G, S, S, S, S, S, S, S, S, S},
{S, S, S, S, S, S, S, G, G, G, G, G, G, G, G, G, S, S, S, S, S, S, S},
{S, S, S, S, S, S, S, G, G, G, G, G, G, G, G, G, S, S, S, S, S, S, S},
{S, S, S, S, S, S, S, G, G, G, G, G, G, G, G, G, S, S, S, S, S, S, S}
};
}
public void DisplayTheatre(Seat x[][]) {
for (int row = 0; row < x.length; row++) {
for (int col = 0; col < x[row].length; col++) {
System.out.print(x[row][col]);
}
System.out.println();
}
}
}
因此,由于这不起作用,我知道我正在以错误的方式处理它,我怎样才能打印出Theater类构造函数中的数组?
任何帮助将不胜感激,谢谢你提前。 ^^
答案 0 :(得分:0)
你做错了三件事。
Seat()
,但是你没有调用setType()
来改变他们的值,所以他们都会以相同的方式打印。您可能需要考虑使用构造函数Seat(String type)
并在那里加载值。Object
将所有String
转换为Object.toString()
如果您希望System.out.print(x[row][col]);
打印除默认值以外的其他内容Object
输出(这几乎总是如此),您需要显式调用返回所需字符串的方法(例如,Seat.GetType()
,或者在您的方法中创建方法public String toString()
座位类。