我正在准备星期一的测试,但是没有答案。到目前为止,我做得很好,但现在被困了。我无知该怎么办。搜索了互联网上的年龄,但我想我错过了一个小东西。
也许你们可以帮助我?
问题:我需要将活动放在日间播放的ArrayList< ...>中并将它们打印出来,我不知道该怎么做。
我已经尝试了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);