Java学习第二季最后的练习 答答租车系统

425 查看

虽然不能完整的把老师事例项目全部体现出来,比如结账账单不能分类,但基本可以实现大部分的功能,花了点时间打了出来

//父类Car
public class Car {
private String carname;//车辆名称
private double price;//租用价格
public void setname(String carname){//输入车名
    this.carname=carname;
}
public String getname(){
    return carname;
}
public void setprice(double price){
    this.price=price;
}
public double getprice(){
    return price;
}

}

载客子类

public class peopleCar extends Car {
int people;     //添加载客人数属性

 peopleCar(String carname,double price,int people){
this.setname(carname);
this.setprice(price);
this.people=people;
 }

}

载货子类

public class goodCar extends Car{
int good;   //添加载货重量属性
goodCar(String carname,double price,int good){
    this.setname(carname);
    this.setprice(price);
    this.good=good;
}

}

载客载货子类

public class pickup extends Car {

int good,people;
pickup(String carname,double price,int people,int good){
    this.setname(carname);
    this.setprice(price);
    this.people=people;
    this.good=good;
}

}

主运行类

import java.util.Scanner;

public class TestStore {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
System.out.println("******************************");
System.out.println("*********欢迎来到答答租车系统********");
System.out.println("******************************");
System.out.println("请问你是否进入系统?按1进入,按0退出");
Scanner input=new Scanner(System.in);
int choose=input.nextInt();
if(choose!=1&&choose!=0){
    System.out.println("您输入有误");
}else if(choose==1){
    peopleCar car1=new peopleCar("奥迪A4",260,4);
    peopleCar car2=new peopleCar("马自达",230,5);
    peopleCar car3=new peopleCar("金龙",290,6);
    goodCar car4=new goodCar("松花江",360,4);
    goodCar car5=new goodCar("依维柯",390,6);
    pickup car6=new pickup("皮卡雪",330,2,3);
    System.out.println("***********租车价目表************");
    System.out.println("---车名---单价---载客量---载货量---");
    System.out.println("1."+car1.getname()+"\t"+car1.getprice()+"\t"+car1.people+"\t"+"null");
    System.out.println("2."+car2.getname()+"\t"+car2.getprice()+"\t"+car2.people+"\t"+"null");
    System.out.println("3."+car3.getname()+"\t"+car3.getprice()+"\t"+car3.people+"\t"+"null");
    System.out.println("4."+car4.getname()+"\t"+car4.getprice()+"\t"+"null"+"\t"+car4.good);
    System.out.println("5."+car5.getname()+"\t"+car5.getprice()+"\t"+"null"+"\t"+car5.good);
    System.out.println("6."+car6.getname()+"\t"+car6.getprice()+"\t"+car6.people+"\t"+car6.good);
    //列表输出完毕,询问需要几辆车
    System.out.println("请问您需要租几辆车?");
    int num=input.nextInt();
    //初始化
        String nsum[]=new String[num];
        double psum=0;
        int rsum=0;
        int msum=0;
        //

    for(int i=1;i<=num;i++){

        System.out.println("请您输入第"+i+"辆车的序号");
        int a=input.nextInt();
        switch(a){
        case 1:nsum[i-1]=car1.getname();psum+=car1.getprice();rsum+=car1.people;break;
        case 2:nsum[i-1]=car2.getname();psum+=car2.getprice();rsum+=car2.people;break;
        case 3:nsum[i-1]=car3.getname();psum+=car3.getprice();rsum+=car3.people;break;
        case 4:nsum[i-1]=car4.getname();psum+=car4.getprice();msum+=car4.good;break;
        case 5:nsum[i-1]=car5.getname();psum+=car5.getprice();msum+=car5.good;break;
        case 6:nsum[i-1]=car6.getname();psum+=car6.getprice();rsum+=car6.people;msum+=car6.good;break;
        }
    }

    //列出账单
    System.out.println("*************账单列表***************");
    for(int i=0;i<num;i++){
        System.out.println("\t"+nsum[i]);
    }
    System.out.println("总价钱为:"+psum);//列出需要花费的总价格
    System.out.println("可载人总数:"+rsum);//列出可载总人数
    System.out.println("可载总重量:"+msum+"吨");//列出可载总重量
    System.out.println("*********************************");
}else{
    System.exit(0);//开始界面输入0则退出系统
}
    }

}