gpt4 book ai didi

java - 尝试按字母顺序显示数组时出错

转载 作者:行者123 更新时间:2023-11-30 06:51:05 26 4
gpt4 key购买 nike

我正在制作一个通过控制台显示的酒店预订系统。系统应该允许用户最多选择 10 个房间号(1-10),并给出正在预订的客户姓名。下面我提出了一种方法,可以在程序运行时保持所有房间为空。

private static void initialise(String hotelRef[]) {
for (int x = 1; x < 11; x++) {
hotelRef[x] = "EMPTY";
}
}

我可以预订房间并查看它们,但是当我尝试对要按字母顺序显示的数组进行排序时,它会终止程序并出现错误。 (主线程中出现空指针异常)。

     Arrays.sort(hotel);                
for (int x = 1; x < 11; x++) {

System.out.println(Arrays.toString(hotel));

}

上面是我目前正在尝试的内容,但它没有到达第一行。关于如何按顺序显示数组有什么想法吗?非常感谢任何帮助。

P.s 忘记提及数组是在 main 方法开始时初始化的。上面的代码是另一种方法。我的主要方法:

public static void main(String[] args) {
String[] hotel = new String[11];
initialise(hotel);
Menu(hotel);
}

最佳答案

这是你的问题:

for (int x = 1; x < 11; x++) {

您使用自然数字在数组中进行索引,但在Java中索引以0开头。因此数组中的第一个元素未初始化。

反过来,当 Arrays.sort(hotel) 尝试调用元素 hotel[0] 上的 equals() 方法时,它会引发一个NullPointerException

解决方案:

习惯从零开始的索引。

关于java - 尝试按字母顺序显示数组时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42748263/

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