gpt4 book ai didi

java - 在字符串数组中搜索下一个可用的空白空间,然后将空间标记为已占用

转载 作者:行者123 更新时间:2023-12-01 22:15:39 25 4
gpt4 key购买 nike

我有一个用于显示座位计划的二维字符串数组。

String seating[][] = {{"XX", "02", "03","04","XX","06","07","08","09"},
{"10", "11", "12","13","XX","15","16","17","18"},
{"19", "20", "21","22","23","24","25","26","27"}};

我想要做的是在数组中搜索尚未标记为“XX”的可用空间,然后将“XX”分配给该空间以将其显示为已占用。我知道您可以使用嵌套的 for 循环来搜索数组并显示数组内的元素,但是,我很难理解如何插入新元素来将位置标记为已占用。我对编程很陌生,因此我们将不胜感激。谢谢。

最佳答案

请注意,您在这里并不是向 2D 数组添加值(数组的长度无论如何都是固定的),您只是设置 2D 数组的元素的值。

如您所知,这是循环遍历 2D 数组的方式:

for (int i = 0 ; i < seating.length ; i++) {
for (int j = 0 ; j < seating[i].length ; j++) {

}
}

在循环内,seating[i][j] 是我们正在检查的元素。我们要检查它是否未被占用:

if (!seating[i][j].equals("XX"))

如果没有被占用,我们将其设置为已占用:

seating[i][j] = "XX";

在找到带有 break; 的座位后,不要忘记停止循环!由于我们要跳出外层循环,因此需要用标签标记外层循环。

完整代码:

outer: for (int i = 0 ; i < seating.length ; i++) {
for (int j = 0 ; j < seating[i].length ; j++) {
if (!seating[i][j].equals("XX")) {
seating[i][j] = "XX";
break outer;
}
}
}

您还可以添加一个 boolean 变量来检查座位是否成功占用:

boolean seatFound = false;
outer: for (int i = 0 ; i < seating.length ; i++) {
for (int j = 0 ; j < seating[i].length ; j++) {
if (!seating[i][j].equals("XX")) {
seating[i][j] = "XX";
seatFound = true;
break outer;
}
}
}
if (seatFound) {
// a seat was successfully occupied!
} else {
// the seats were already all full!
}

关于java - 在字符串数组中搜索下一个可用的空白空间,然后将空间标记为已占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630479/

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