大家好我正在学习Java,而且我正在努力制作一个你也可以使用书籍汽车旅馆房间的程序。我试图创建一种方法来搜索客人需要的天数,然后检查免费的天数和单位。我正在使用数组数组的2D数组。
public void doSearch() {
this.redisplay();
int daysWanted = UI.askInt("Number of days required");
int days = 0;
for(int i = 0; i < NUM_UNITS; i++){
for(int j = 0; j < NUM_DAYS; j++){
if(bookings[i][j] == null){
days++;
if(daysWanted >= days && this.bookings[i] == this.bookings[i]){
this.displayCell (i, j, Color.red);
}
}
}
}
}
这是程序目前的样子,我上面展示的是我想要的方法。我的问题是,当我键入多少天时,它检查可用单元是否在这么多天是免费的,但我希望它是连续的。我怎么会这样呢?任何帮助表示赞赏,谢谢:)
答案 0 :(得分:1)
改变这个:
days = 0;
int[] daysWeWant = new int[daysWanted];
for(int j = 0; j < NUM_DAYS; j++){
if(bookings[i][j] == null){
daysWeWant[days] = j;
days++;
if(daysWanted == days){
break;
}
}
else{
days = 0;
int[] daysWeWant = new int[daysWanted];
}
}
if(days== daysWanted ){
for(int j = 0 ; j< daysWanted; j++){
int day = daysWeWant [j];
this.displayCell (i, day , Color.red);
}
}
这样的事情:
<tbody>
<?php foreach($booklist as $book)
{ ?>
<tr>
<td><?php echo $book['bookid']; ?></td>
<td><?php echo $book['bookname']; ?></td>
<td><?php echo $book['author']; ?></td>
<td><?php echo $book['price']; ?></td>
<td>
<a href="<?php echo site_url('home/edit/' . $book['bookid']); ?>" class="btn btn-warning btn-xs"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
如果你这样做,如果有一天不可用并且继续再次搜索,那么它会为零天。
答案 1 :(得分:0)
我怀疑Lrrr是在正确的道路上 - 您需要为您正在搜索的每个单元重置days
计数器。可能你可以改变:
int days = 0;
for(int i = 0; i < NUM_UNITS; i++){
for(int j = 0; j < NUM_DAYS; j++){
到
for(int i = 0; i < NUM_UNITS; i++){
int days = 0;
for(int j = 0; j < NUM_DAYS; j++){
但是如果没有样本数据,检查某些内容会有点工作。
您可能会发现编写一些单元测试可以帮助您解决这个问题。