Народ, HELP! уже все маты сложила, не могу понять, что еще нужно? Уже, наверно, поставила антирекорд по количеству запусков валидатора, в упор не вижу, что не так-то.
Сейчас посмотрела, что boolean canPassengersBeTransferred() без private стоит, с private тоже не хочет принимать.
package com.javarush.task.task29.task2909.car;
import java.util.Date;
abstract class Car {
static public final int TRUCK = 0;
static public final int SEDAN = 1;
static public final int CABRIOLET = 2;
double fuel;
public double summerFuelConsumption;
public double winterFuelConsumption;
public double winterWarmingUp;
private int type;
private boolean driverAvailable;
private int numberOfPassengers;
protected Car(int type, int numberOfPassengers) {
this.type = type;
this.numberOfPassengers = numberOfPassengers;
}
public void fill(double numberOfLiters) throws Exception {
if (numberOfLiters < 0) throw new Exception("numberOfLiters < 0");
fuel += numberOfLiters;
}
public double getTripConsumption(Date date, int length, Date SummerStart, Date SummerEnd) {
double consumption;
if (!isSummer(date, SummerStart,SummerEnd))
consumption = getWinterConsumption(length);
else
consumption = getSummerConsumption(length);
return consumption;
}
public int getNumberOfPassengersCanBeTransferred() {
if (canPassengersBeTransferred())
return numberOfPassengers;
return 0;
}
public boolean isDriverAvailable() {
return driverAvailable;
}
public void setDriverAvailable(boolean driverAvailable) {
this.driverAvailable = driverAvailable;
}
public void startMoving() {
//if (getNumberOfPassengersCanBeTransferred() > 0) {
if (numberOfPassengers > 0) {
fastenPassengersBelts();
}
fastenDriverBelt();
}
public void fastenPassengersBelts() {
}
public void fastenDriverBelt() {
}
public abstract int getMaxSpeed();
public static Car create(int type, int numberOfPassengers){
switch (type){
case Car.SEDAN: return new Sedan(numberOfPassengers);
case Car.TRUCK: return new Truck(numberOfPassengers);
case Car.CABRIOLET: return new Cabriolet(numberOfPassengers);
}
return null;
}
boolean canPassengersBeTransferred(){
return (isDriverAvailable() && fuel > 0);
}
public boolean isSummer(Date date, Date summerStart, Date summerEnd){
return (date.after(summerStart) && date.before(summerEnd));
}
public double getWinterConsumption(int length){
return length * winterFuelConsumption + winterWarmingUp;
}
public double getSummerConsumption(int length){
return length * summerFuelConsumption;
}
}