我收到seatRow = scan.next()
和seatLetter = scan.next()
错误,你怎么能转换它们。并且if(airplaneSeats == 'X')
它表示它是uncompatable
操作数类型
public static void main(String[]args)
{
String airplaneSeatsString = ("1 A B C D 2 A B C D 3 A B C D 4 A B C D 5 A B C D 6 A B C D 7 A B C D");
String requested = " ";
char[] airplaneSeats = airplaneSeatsString.toCharArray();
Scanner scan = new Scanner(System.in);
boolean seatsRemain = true;
char seatRow = 0;
char seatLetter = ' ';
while (seatsRemain)
{
if(seatsRemain == true)
{
System.out.print("Input seat row/letter: ");
seatRow = scan.next;
seatLetter = scan.next;
for(int i = 0; i < airplaneSeats.length; i++) {
if (airplaneSeats[i] == seatRow)
for (int j = 0; j < 4; j++) {
if (airplaneSeats[i+j] == 'X')
{
System.out.println(airplaneSeats);
}
//print seat taken
if (airplaneSeats[i+j] == seatLetter) {
airplaneSeats[i+j] = 'X';
}
if(airplaneSeats == 'X')
{
seatsRemain = false;
}
}
}
}
if(seatsRemain == false){break;}
{
System.out.print("\nEnter your Seat: ");
String seat = scan.next();
requested += seat;
}
System.out.println("The Plane is full");
}
}
}
答案 0 :(得分:1)
您正在将整个数组airplaneSeats
与'X'
进行比较,而不是需要与数组的单个字符进行比较,例如if(airplaneSeats[i] == 'X')
。
此外,从scan.next
读取字符时出现语法错误Scanner
,需要修复。您需要阅读next().charAt(0)
中的字符Scanner
,如下所示:
seatRow = scan.next().charAt(0);
seatLetter = scan.next().charAt(0);