gpt4 book ai didi

java - java检查数组元素是否被填充

转载 作者:搜寻专家 更新时间:2023-10-31 19:56:53 25 4
gpt4 key购买 nike

我正在开发一个包含 10 个元素(座位)的简单预订系统。我想检查是否已设置从 1 到 5 的元素。如果是,则将元素从 6 设置为 10(反之亦然)。

一个元素不应被多次赋值。到目前为止我的代码。

    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);
}

}

我的问题:如何检查是否设置了从 1 到 5 的元素,如果设置了,则设置从 6 到 10 的元素,反之亦然?

例如:

输入座位号预订:1

输入座位号预订:2

输入座位号预订:3

输入座位号预订:4

输入座位号预订:5

所有头等舱座位(1-5)已设置。现在剩下的座位是 6 - 10。

输入座位号预订:6等等……

最佳答案

Java 中的数组1 从零开始索引,而不是从一开始。因此,您检查 >=1 的代码和 <=10应该改为>=0<=9 , 或者使用2

seats[enterSeat-1]

代替

seats[enterSeat]

要从子数组的元素中找到下一个可用元素,可以使用此循环:

int firstFree = -1;
for (int j = 0 ; j != 5 ; i++) {
if (!seat[j]) {
firstFreeSeat = j;
break;
}
}
if (firstFreeSeat == -1) {
System.out.printl("Sorry!");
}


1 以及 C、C++、C#、Objective C 和许多其他语言

2 如果您希望用户输入数字 1 到 10 而不是 0 到 9,那么您可能想要这样做 - 这是更自然的座位编号选择。

关于java - java检查数组元素是否被填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com