我正在开展一个课程项目并遇到障碍。我一直在寻找如何检查二维数组是否为空的所有地方,如果是,那么它将继续项目。如果阵列已满,那么它会要求客户列入等待名单。我是java的新手,所以如果你能帮我解决这个问题!我一直在考虑使用布尔语句,但我不确定这是否有效。无论如何我到目前为止已经为这个数组写了这个。
char [][] seats = new char [13][6]; //array for row and columns
for (int row = 0; row < seats.length; row ++) {//output seating to * with no passengers
for (int col = 0; col < seats[row].length; col ++) {
seats [row][col] = '*';
}
}
答案 0 :(得分:3)
根据你的问题判断,你想要收集一系列字符和:
*
)您希望代码如下所示:
public static boolean hasOpenSeat(char[][] seats){
for(int i = 0; i < seats.length; i++){
for(int j = 0; j < seats[i].length; j++){
if(seats[i][j] == '*')
return true;
}
}
//Open seat was never found - return false
return false;
}
答案 1 :(得分:1)
这取决于你对空的定义......
您可以检查数组中的每个项目是否等于特殊值,这意味着&#34;空&#34;项目
最快的方法是逐项检查,然后返回false
,如&#34; not-empty &#34;一找到座位就行了。如果我们检查了所有座位并且没有找到座位,那么矩阵就是空的。
boolean areAllSeatsEmpty(char [][] seats) {
final char EMPTY_SEAT = '*';
for (int row = 0; row < seats.length; row ++) {
for (int col = 0; col < seats[row].length; col ++) {
if(seats [row][col] != EMPTY_SEAT) { // return false as soon as a non-empty seat is found
return false;
}
}
}
return true; // no non-empty seats were found so all seats are empty
}