基本上我有一项必须在1月完成的任务。我必须创建一个允许客户租车的模拟租赁服务。我基于ArrayList的逻辑,使用它的方法来管理我的汽车收藏。
我的代码有些问题,我的很多方法中的逻辑都运行不正常。在我添加的代码示例中,showCar
,rentTheCar
和returnCar
方法无法正常工作。 showCar
方法显示所有汽车,但在调用方法时它会询问carNumber
。 rentThecar
和returnCar
似乎在租用/归还所有汽车,而不仅仅是我指定的汽车。
如果有人能帮助我找出可能出错的地方,我会在下面的课程中显示相关代码。请说清楚我不想让我的作业完成一些指导。感谢。
显示汽车方法:
public void showCar (int carNumber)
{
if (cars.size() < 0 ) {
System.out.println ("Add cars first!!!");
}
else if (carNumber < cars.size()) {
System.out.println(cars.get(carNumber));
}
else{
System.out.println("Error!! This note cannot be shown, because it does not exist!!");
}
}
租车法:
public void rentTheCar (int carNumber, String CustomerName, String hireDate, String returnDate, int daysOfHire)
{
if (cars.size() < 0) {
System.out.println("Empty list!! Add cars first!!");
}
else if (carNumber > cars.size()) {
System.out.println("This car does not exist!!");
}
else {
for (Car car : cars) {
int index = 0;
cars.get (carNumber);
car.rentTheCar(CustomerName, hireDate, returnDate, daysOfHire);
index ++;
}
}
}
返车法:
public void returnCar (int carNumber)
{
cars.get(carNumber);
if (cars.size() < 0) {
System.out.println("Error!! It is impossible to return a car from an empty list");
}
else if (carNumber > cars.size()) {
System.out.println("Error!! Not a valis car!!");
}
else {
for (Car car : cars) {
car.returnTheCar();
System.out.println ("The car has been returned correctly");
}
}
}
答案 0 :(得分:1)
那么ReturnCar和RentTheCar中for循环的目的是什么?
他们在做什么?
上述线索应该让你走上正轨。
答案 1 :(得分:0)
您的showCar
方法看起来不错,您确定它会显示您收藏中的所有汽车吗?至于您的其他两种方法,您循环整个集合并在每个元素上调用租赁操作。您将整个逻辑基于索引数组,因此请使用索引。
http://docs.oracle.com/javase/6/docs/api/java/util/List.html
add(int index, E element)
Inserts the specified element at the specified position in this list (optional operation).
get(int index)
Returns the element at the specified position in this list.
答案 2 :(得分:0)
我认为你应该看看你的foreach循环,也许你会在那里找到一两个暗示!这一行:
for (Car car : cars) {
// do something...
}
有一个原因,它被称为for- 每个循环。 :) 希望我帮忙。