Java上使用数组进行座位预订的设想

Java上使用数组进行座位预订的设想,java,arrays,Java,Arrays,正如您所知,Java的数组从零开始。当谈到公共汽车座位时,你可能会想到一系列的座位。例如,9个席位 我对此有一个问题,因为客户不会要求座位0(起始座位),他们会要求“第一”个座位(座位1)。因此,如果他们输入(1)作为所需的座位(对于客户来说,它将是第一个座位),该方法将“保留”第二个数组的字段,因为第一个字段为零。所以,我不知道如何解决这个问题 public void occupySeat(int seat) { Seats[seat] = true; } /* This i

正如您所知,Java的数组从零开始。当谈到公共汽车座位时,你可能会想到一系列的座位。例如,9个席位

我对此有一个问题,因为客户不会要求座位0(起始座位),他们会要求“第一”个座位(座位1)。因此,如果他们输入(1)作为所需的座位(对于客户来说,它将是第一个座位),该方法将“保留”第二个数组的字段,因为第一个字段为零。所以,我不知道如何解决这个问题

public void occupySeat(int seat) {
        Seats[seat] = true;
} /* This is the reservation method
我的想法是,我可以输出一个信息,说他们能预定的第一个座位是零。等等所以最后一个是第八个。但这让我很不满意

任何想法都会很棒!多谢各位

public void occupySeat(int seat) {
        Seats[seat-1] = true;
} /* This is the reservation method

只要根据需要加减1即可。

这是一种非常常见的模式,请尝试

public void occupySeat(int seat) {
    Seats[seat-1] = true;
} 

并且可能要确保他们输入的是一个有效的整数:)

您可以使用
映射

这样你就有更多的机会在你的座位集合中进行更多的操作

private Map<Integer, Seat> seats = new HashMap<>();

public void occupySeat(int seat) {
   seats.put(seat, true);
} /* This is the reservation method
private Map seats=new HashMap();
公共空位占用座位(内部座位){
座位。放置(座位,正确);
}/*这是预订方法

座椅[座椅-1]=真@ElliottFrisch谢谢!但这不是一个问题吗?因为如果客户输入座位号(2),它不会从数组中“保留”字段号(1)吗?因为(seat-1),所以它不会真正保留客户机请求的位置Java数组总是从
0
开始,并且没有办法改变这一点。如果您希望
1
等于
0
,那么您总是希望
n-1
。谢谢!我想不起来了!但我有个问题。因为,假设客户选择了第二个座位。然后,由于(座椅1)操作,它将占据座椅1。等等我不知道我是否在解释我自己,让我知道!