爪哇问题;无法将活动添加到数组列表<???>需要帮助



我正在准备星期一的测试,但是没有答案。到目前为止,我做得很好,但现在被困了。我无知该怎么办。搜索了互联网上的年龄,但我想我错过了一个小东西。

也许你们可以帮助我?

问题:我需要将活动放在日间播放的ArrayList&lt; ...>中并将它们打印出来,我不知道该怎么做。

我已经尝试了arraylist整数字符串,我不知道* *我这样做:pGATAGESIMULATION中的目标运行模拟()。

tester.java

public class Tester {
public void equalsTest() {
    Car c1=new Car("Toyota", "Prius", 'p', 1800);
    Car c2=new Car("Citroen", "C5 Tourer", 'd', 2300);
    Car c3=new Car("Toyota", "Prius", 'd', 2050);
    System.out.println(c1.equals(c1));
    System.out.println(c1.equals(c2));
    System.out.println(c1.equals(c3));
    Bicycle b1=new Bicycle("MesserSchmidt", "Targa", false);
    Car c4=new Car("MesserSchmidt", "Targa", 'p', 950);
    System.out.println(c4.equals(b1));
    /* Expected outcome
    true
    false
    true
    false
     */
}
public void simulateOneDayTest() {
    Car c1=new Car("Toyota", "Prius", 'p', 1800);
    Car c2=new Car("Citroen", "C5 Tourer", 'd', 2300);
    Car c3=new Car("Toyota", "Prius", 'd', 2050);
    Bicycle b1=new Bicycle("MesserSchmidt", "Targa", false);
    Car c4=new Car("MesserSchmidt", "Targa", 'p', 950);
    Car c5=new Car("Hummer", "XL", 'd', 5600);
    Car c6=new Car("BMW", "R3", 'd', 6350);
    Car c7=new Car("Citroen", "C5 Tourer", 'd', 2300);
    GarageSimulation gs=new GarageSimulation();
    gs.addVehicle(c1);
    gs.addVehicle(c2);
    gs.addVehicle(c3);
    gs.addVehicle(b1);
    gs.addVehicle(c4);
    gs.addVehicle(c5);
    gs.addVehicle(c6);
    gs.addVehicle(c7);
    gs.simulateOneDay();
    /* Expected outcome
    Eating/drinking takes 15 minutes
    Current time is 8:15
    Visiting the toilet takes 10 minutes
    Current time is 8:25
    Repairing takes 36 minutes
    Current time is 9:01
    Eating/drinking takes 15 minutes
    Current time is 9:16
    Visiting the toilet takes 10 minutes
    Current time is 9:26
    Repairing takes 46 minutes
    Current time is 10:12
    Eating/drinking takes 15 minutes
    Current time is 10:27
    Visiting the toilet takes 10 minutes
    Current time is 10:37
    Repairing takes 41 minutes
    Current time is 11:18
    Eating/drinking takes 15 minutes
    Current time is 11:33
    Visiting the toilet takes 10 minutes
    Current time is 11:43
    Repairing takes 15 minutes
    Current time is 11:58
    Eating/drinking takes 15 minutes
    Current time is 12:13
    Visiting the toilet takes 10 minutes
    Current time is 12:23
    Repairing takes 19 minutes
    Current time is 12:42
    Eating/drinking takes 15 minutes
    Current time is 12:57
    Visiting the toilet takes 10 minutes
    Current time is 13:07
    Repairing takes 112 minutes
    Current time is 14:59
    Eating/drinking takes 15 minutes
    Current time is 15:14
    Visiting the toilet takes 10 minutes
    Current time is 15:24
    Repairing takes 127 minutes
    Current time is 17:31
    Eating/drinking takes 15 minutes
    Current time is 17:46
    Visiting the toilet takes 10 minutes
    Current time is 17:56
    Repairing takes 46 minutes
    Current time is 18:42
    */
}
public void simulateOneDayAndStopOnTimeTest() {
    /*Car c1=new Car("Toyota", "Prius", 'p', 1800);
    Car c2=new Car("Citroen", "C5 Tourer", 'd', 2300);
    Car c3=new Car("Toyota", "Prius", 'd', 2050);
    Bicycle b1=new Bicycle("MesserSchmidt", "Targa", false);
    Car c4=new Car("MesserSchmidt", "Targa", 'p', 950);
    Car c5=new Car("Hummer", "XL", 'd', 5600);
    Car c6=new Car("BMW", "R3", 'd', 6350);
    Car c7=new Car("Citroen", "C5 Tourer", 'd', 2300);
    GarageSimulation gs=new GarageSimulation();
    gs.addVehicle(c1);
    gs.addVehicle(c2);
    gs.addVehicle(c3);
    gs.addVehicle(b1);
    gs.addVehicle(c4);
    gs.addVehicle(c5);
    gs.addVehicle(c6);
    gs.addVehicle(c7);
    gs.simulateOneDayAndStopOnTime();
    */
    /* Expected outcome
    Eating/drinking takes 15 minutes
    Current time is 8:15
    Visiting the toilet takes 10 minutes
    Current time is 8:25
    Repairing takes 36 minutes
    Current time is 9:01
    Eating/drinking takes 15 minutes
    Current time is 9:16
    Visiting the toilet takes 10 minutes
    Current time is 9:26
    Repairing takes 46 minutes
    Current time is 10:12
    Eating/drinking takes 15 minutes
    Current time is 10:27
    Visiting the toilet takes 10 minutes
    Current time is 10:37
    Repairing takes 41 minutes
    Current time is 11:18
    Eating/drinking takes 15 minutes
    Current time is 11:33
    Visiting the toilet takes 10 minutes
    Current time is 11:43
    Repairing takes 15 minutes
    Current time is 11:58
    Eating/drinking takes 15 minutes
    Current time is 12:13
    Visiting the toilet takes 10 minutes
    Current time is 12:23
    Repairing takes 19 minutes
    Current time is 12:42
    Eating/drinking takes 15 minutes
    Current time is 12:57
    Visiting the toilet takes 10 minutes
    Current time is 13:07
    Repairing takes 112 minutes
    Current time is 14:59
    Eating/drinking takes 15 minutes
    Current time is 15:14
    Visiting the toilet takes 10 minutes
    Current time is 15:24
    Repairing takes 127 minutes
    Current time is 17:31
    Exception: Closing time...
    Still 3 activities pending
    */
}

}

garagesimulation.java

  import java.util.*;
public class GarageSimulation{
private int time;
private static final int START_HOUR=8;
private static final int MIN_IN_HOUR=60;
private static final int TOTAL_MINUTES=480; 
private ArrayList<Vehicle> dayplan;
private EatAndDrink eatdrink;
private Toilet toilet;
private RepairVehicle repair;
public GarageSimulation() {
  ArrayList<Vehicle> dayplan = new ArrayList<Vehicle>();
}
public void addVehicle(Vehicle vehicle) {
  // add eat and drink to dayplanning
  // IT GOES WRONG HERE 
  dayplan.add();// don't know which arguments or how I can add an activity to the arraylist
  // add toilet to dayplanning
  // add repair vehicle to dayplanning
}
public void simulateOneDay() {
  // No clue what im doing here 
  int i = 0;
  while(dayplan.size() > i) {
  // get the activity
  System.out.println(dayplan.get(i));
  System.out.println("Current time is "+showCurrentTime());
  // show the activity and update time
  // Print the current time
  i++;
  }
}
private String showCurrentTime() {
  int hour=START_HOUR+time/MIN_IN_HOUR;
  int min=time%MIN_IN_HOUR;
  if (min<10) 
  return hour+":0"+min;
  else
  return hour+":"+min;
}
}

eatanddrink.java

public class EatAndDrink implements Activity{
public int showActivityAndReturnTime() {
    System.out.println("Eating/drinking takes 15 minutes");
    return 15;
}
 }

厕所中的同样狗屎

Repainvehicle.java

public class RepairVehicle implements Activity{
private int time;
public RepairVehicle(Vehicle vehicle) {
  Car c = (Car) vehicle;
  if( vehicle instanceof Car){
  //tijd reperatie auto
  if( c.getFueltype() == 'd'){
  time = (c.getContents()/50) * 2;
  }else{
        time = (c.getContents()/50);
  }
  }else if( vehicle instanceof Bicycle){
  time = 15;
  }
}
@Override
public int showActivityAndReturnTime() {
  System.out.println("Repairing takes "+time+" minutes");
  return time;
}
}

接口活动.java

public interface Activity
{
public int showActivityAndReturnTime(); 
}

car.java

public class Car extends Vehicle {
private char fueltype;
private int contents;
public Car(String brand,String modelname,char fueltype,int contents){
  super(brand,modelname);
  if(fueltype == 'd' || fueltype == 'p'){
  this.fueltype = fueltype;
  }
  if( contents >= 0 ){
  this.contents = contents;
  }else{
  this.contents = 1000;
  }
}
public char getFueltype(){
  return fueltype;
}
public int getContents(){
  return contents;
}
public boolean equals(Object o){
  if (this == o){
  return true;
  }
  if(!( o instanceof Car)){
  return false;
  }    
  Car c = (Car) o;
  return(
  c.brand.equals(this.brand) &&
  c.modelname.equals(this.modelname) 
  );
}
}

bicycle.java and parter.java并不是我认为在这里展示的真正必要。

希望你们中的一些人能帮助我!预先感谢!!!!!

dayplan被声明为

private ArrayList<Vehicle> dayplan;

,您可以在没有任何参数的情况下调用添加方法。

dayplan.add();

这就是导致编译误差的原因。

您需要通过IT参数,vehicle

dayplan.add(vehicle);

问题是

dayplan.add(); 

您应该添加车辆

所以将其更改为

dayplan.add(vehicle); 

相关内容

最新更新