我正在开发一个带有10个元素(座位)的简单预订系统.我想检查是否已设置1到5的元素.如果是,则将元素从6设置为10(副Versa).
不应为元素分配多于一次的值.我的代码到目前为止.
boolean[] seats = new boolean[10];
Scanner input = new Scanner(System.in);
System.out.print("Choose FirstClass(1) / Economy(2): ");
int flightClass = input.nextInt();
for (int j = 0; j < seats.length; j++) {
System.out.println("\nEnter Seat Number: ");
int enterSeat = input.nextInt();
if (flightClass == 1) {
if (enterSeat >= 0 && enterSeat <= 5) {
System.out.println("You're in the First Class.");
seats[enterSeat] = true;
System.out.printf("You're Seat Number is %d\n", enterSeat);
}
} else if (flightClass == 2) {
if (enterSeat >= 6 && enterSeat <= 10) {
System.out.println("You're in the Economy.");
seats[enterSeat] = true;
System.out.printf("You're Seat Number is %d\n", enterSeat);
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题:如何检查1到5中的元素是否已设置,如果已设置,则将元素设置为6到10,反之亦然?
例如:
输入座位号.预订:1
输入座位号.预订:2
输入座位号.预订:3
输入座位号.预订:4
输入座位号.预订:5
所有头等舱座位(1-5)都已设定.现在剩余的座位是6-10.
输入座位号.预订:6等......
Java 1中的数组从零开始索引,而不是从一个索引.因此,您的代码将检查>=1并<=10应更改为>=0和<=9,或使用2
seats[enterSeat-1]
Run Code Online (Sandbox Code Playgroud)
代替
seats[enterSeat]
Run Code Online (Sandbox Code Playgroud)
要从子数组的元素中查找下一个可用元素,可以使用此循环:
int firstFree = -1;
for (int j = 0 ; j != 5 ; i++) {
if (!seat[j]) {
firstFreeSeat = j;
break;
}
}
if (firstFreeSeat == -1) {
System.out.printl("Sorry!");
}
Run Code Online (Sandbox Code Playgroud)
2如果您希望用户输入数字1到10而不是0到9,那么您可能想要这样做 - 这是座位编号的更自然的选择.
| 归档时间: |
|
| 查看次数: |
1488 次 |
| 最近记录: |