手记

java第二季答答租车系统

父类Car

public class Car {
private int number;
private String carName;
private int price;
public int getNumber() {
    return number;
}
public void setNumber(int number) {
    this.number = number;
}
public String getCarName() {
    return carName;
}
public void setCarName(String carName) {
    this.carName = carName;
}
public int getPrice() {
    return price;
}
public void setPrice(int price) {
    this.price = price;
}

}

货车接口

public interface IZaiHuo {
public void setHuo(int huo);
public int getHuo();
}

客车接口

public interface IZaiRen {
public void setPerson(int person);
public int getPerson(); 
}

货车类

public class HuoChe extends Car implements IZaiHuo{
    private int huo;
public HuoChe(int number,String name,int price,int huo){
    super.setNumber(number);
    super.setCarName(name);
    super.setPrice(price);
    this.setHuo(huo);
}

@Override
public void setHuo(int huo) {
    // TODO 自动生成的方法存根
    this.huo=huo;
}

@Override
public int getHuo() {
    // TODO 自动生成的方法存根
    return huo;
}

@Override
public String toString() {
    return super.getNumber()+" "+super.getCarName()+'\t'+super.getPrice()+"元/天"+'\t'+"载货:"+this.getHuo()+"吨";
}

}

客车类:

public class KeChe extends Car implements IZaiRen{
    private int person;
    public KeChe(int number,String name,int price,int person){
        super.setNumber(number);
        super.setCarName(name);
        super.setPrice(price);
        this.setPerson(person);
    }

    @Override
    public void setPerson(int person) {
        // TODO 自动生成的方法存根
        this.person=person;
    }

    @Override
    public int getPerson() {
        // TODO 自动生成的方法存根
        return person;
    }

    @Override
    public String toString() {
        return super.getNumber()+" "+super.getCarName()+'\t'+super.getPrice()+"元/天"+'\t'+"载人:"+this.person+"人";
    }

}

皮卡类

public class PiKa extends Car implements IZaiHuo,IZaiRen{
private int huo;
private int person;
public PiKa(int number,String name,int price,int person,int huo){
    super.setNumber(number);
    super.setCarName(name);
    super.setPrice(price);
    this.setPerson(person);
    this.setHuo(huo);

}
    @Override
    public void setPerson(int person) {
        // TODO 自动生成的方法存根
        this.person=person;
    }

    @Override
    public int getPerson() {
        // TODO 自动生成的方法存根
        return person;
    }

    @Override
    public void setHuo(int huo) {
        // TODO 自动生成的方法存根
        this.huo=huo;
    }

    @Override
    public int getHuo() {
        // TODO 自动生成的方法存根
        return huo;
    }

    @Override
        public String toString() {
            // TODO 自动生成的方法存根
            return super.getNumber()+super.getCarName()+'\t'+super.getPrice()+"元/天"+'\t'+"载人:"+this.getPerson()+"人  载货:"+this.getHuo()+"吨";
        }
}

测试类

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
    Car[] cars={new KeChe(1, "奥迪A4", 500, 4),new KeChe(2, "马自达6", 400, 4),new PiKa(3, "皮卡雪6", 450, 4, 2),new KeChe(4, "金龙", 800, 20),new HuoChe(5, "松花江", 400, 4),new HuoChe(6, "依维柯", 1000, 20)};
    Scanner scanner=new Scanner(System.in);
    System.out.println("欢迎使用答答租车系统"+'\n'+"您是否要租车:1是 0否");
    int zuche=scanner.nextInt();
    if (zuche!=1) {
        System.out.println("欢迎您下次使用");
        System.exit(0);
    } else {
        System.out.println("您可租车的类型及其价目表:"+'\n'+"序号  汽车名称  租金  容量");
        for (int i = 0; i < cars.length; i++) {
            System.out.println(cars[i]);
        }
        System.out.println("请输入您要租车的数量");
        int sum=scanner.nextInt();

        String zaiRen="";
        String zaiHuo="";
        int sumPerson=0;
        int sumHuo=0;
        int sumPrice=0;
        for(int i=1;i<=sum;i++){
            System.out.println("请输入第"+i+"辆车的序号:");
            int j=scanner.nextInt()-1;
            if (cars[j].getClass()==HuoChe.class) {
                zaiHuo+=cars[j].getCarName()+'\t';
                sumPrice+=cars[j].getPrice();
                sumHuo+=((HuoChe) cars[j]).getHuo();
            }else if(cars[j].getClass()==KeChe.class){
                zaiRen+=cars[j].getCarName()+'\t';
                sumPrice+=cars[j].getPrice();
                sumPerson+=((KeChe) cars[j]).getPerson();
            }else if(cars[j].getClass()==PiKa.class){
                zaiHuo+=cars[j].getCarName()+'\t';
                zaiRen+=cars[j].getCarName()+'\t';
                sumPerson+=((PiKa) cars[j]).getPerson();
                sumHuo+=((PiKa) cars[j]).getHuo();
                sumPrice+=cars[j].getPrice();
            }
        }
        System.out.println("请输入租车天数:");
        int tianShu=scanner.nextInt();
        System.out.println("您的账单:");
        System.out.println("***可载人的车有:"+zaiRen+"共载:"+sumPerson+"人");
        System.out.println("***载货的车有:"+zaiHuo+"共载货:"+sumHuo+"吨");
        System.out.println("***租车的总价格:"+sumPrice*tianShu);
    }
    }
}
2人推荐
随时随地看视频
慕课网APP

热门评论

我能说什么呢,只看完第二季的人不存在看的懂的,不说接口是在第三季吧,你还有反射那一块的类类型

查看全部评论