Scanner input = new Scanner(System.in);
ArrayList availableList = new ArrayList();
for(int i=0;i<vehicleList.size();i++)
{
Vehicle v = (Vehicle) vehicleList.get(i);
if(v.isAvailable())
availableList.add(v);
}
System.out.println("Option 5.Rent A Vehicle");
listCustomers(customerList);//displays Customers
System.out.print("Enter S/No of customer:");
int c1 = input.nextInt();//user input for S/No of customer
while(c1 > customerList.size() || c1 < 1)//checks if S/No is valid
{
System.out.println("Invalid option! please re-enter S/No of customer");
c1 = input.nextInt();//prompt user to re-enter S/No of customer
}
Customer c = (Customer) customerList.get(c1-1); //creates customer object
listavailableVehicles(availableList);//displays vehicles
System.out.print("Enter S/No of Vehicle :");
int ve= input.nextInt();//user input for S/No of vehicle
Vehicle v = (Vehicle) availableList.get(ve-1);//creates vehicle object
while(ve > availableList.size() || (!v.isAvailable()))//check if S/No is valid
{
System.out.println("Invalid option! please re-enter S/No of of vehicle");
ve = input.nextInt();//prompt user to re-enter S/No of vehicle
v = (Vehicle) vehicleList.get(ve-1);//creates vehicle object
}
我在这里遇到错误。而(ve
首先:如果数组列表的长度是10,那么有效的索引是从0到9。
所以你应该像这样事先检查你的数组列表的大小:
if(i >= 0 && i < vehicleList.size()){
vehicleList.get(i);
...
} else {
...
}
或者像这样使用try-catch:
try {
vehicleList.get(i);
} catch (Exception e) {
// you can log exception here
}
尝试以下代码替换您的代码
int ve= input.nextInt();//用户输入车辆的 S/No 这一
行,代码如下
Vehicle v=null;
if(ve > availableList.size() || ve <= 0){
while(ve > availableList.size() || (!v.isAvailable()))//check if S/No is valid
{
System.out.println("Invalid option! please re-enter S/No of of vehicle");
ve = input.nextInt();//prompt user to re-enter S/No of vehicle
if(ve <= availableList.size() && ve > 0) {
v = (Vehicle) vehicleList.get(ve-1);//creates vehicle object
break;
}
}
}
else
{
v = (Vehicle) availableList.get(ve-1);//creates vehicle object
}
我想使用来表示优先级队列。所以我想在ArrayList的特定位置添加项。但当我运行它时,系统告诉我 线程“main”java.lang.IndexOutOfBoundsException:索引:10,大小:0。
我正在尝试编写一个lz78代码作为一个学校项目,但我不断得到这个错误: 线程“main”java.lang.IndexOutOfBoundsException异常:索引:20,大小:20 代码如下:
我正试图将lz78代码作为学校项目编写,但我一直遇到以下错误: 线程“main”java中出现异常。lang.IndexOutOfBoundsException:索引:20,大小:20 下面是代码:
java仍然有问题:/下面是我对列表的问题: 这给了我一个错误: 我认为我正在正确使用列表以及如何迭代它!当我试图从列表中获取int时,我不会超过列表的大小。提前感谢帮助 我知道我的代码被弄乱了。。。还有一些错误。多亏了休,我修好了,现在可以工作了。。。现在是这样的:
问题内容: 我必须将类路径资源从一个包复制到另一个。 我的程序是: 在方法我得到异常: 怎么解决呢? 解 此代码可以正确地从软件包复制到中。 问题答案: 问题是,不要期望从中产生那种价值。 解:
问题内容: 每当我运行此命令时,该函数就可以正常使用。当我选择洞穴时,消息会每隔2秒弹出一次,然后当它越过该部分时,就会出现错误: 我已经尝试过和,并且在该方法中使用时,出现了很多错误。当我在方法中使用时,它不接受我的输入。 当我在该方法中使用时,它不接受我的字符串输入,而直接进入另一个游戏,但是布尔值返回并且它无限地发送垃圾邮件“ Which Cave …”。 我已经阅读了错误报告,以及类似问题