demo:
父类:
public class Car {
public String name;
public double zujin;
public int zaike;
public int zaihuo;
public double allzujin=0.0;
public int allzaike=0;
public int allzaihuo=0;
public void getmoney(int tianshu) {
allzujin += tianshu*zujin;
}
public void getpeople(int cheshu) {
allzaike += cheshu*zaike;
}
public void getzaihuo(int cheshu) {
allzaihuo += cheshu*zaihuo;
}
public void qingling(){
allzaike = 0;
allzujin = 0.0;
allzaihuo = 0;
}
}
子类1:
public class Aodi extends Car {
public Aodi(String name, double zujin, int zaike){
this.name = name;
this.zujin = zujin;
this.zaike = zaike;
}
}
子类2:
public class Mazida extends Car {
public Mazida(String name, double zujin, int zaike){
this.name = name;
this.zujin = zujin;
this.zaike = zaike;
}
}
子类3:
public class PickUp extends Car {
public PickUp(String name, double zujin, int zaike, int zaihuo){
this.name = name;
this.zujin = zujin;
this.zaike = zaike;
this.zaihuo = zaihuo;
}
}
子类4:
public class JinLong extends Car {
public JinLong(String name, double zujin, int zaike){
this.name = name;
this.zujin = zujin;
this.zaike = zaike;
}
}
子类5:
public class SonHuaJiang extends Car {
public SonHuaJiang(String name, double zujin, int zaihuo){
this.name = name;
this.zujin = zujin;
this.zaihuo = zaihuo;
}
}
子类6:
public class YiWeiHe extends Car {
public YiWeiHe(String name, double zujin, int zaihuo){
this.name = name;
this.zujin = zujin;
this.zaihuo = zaihuo;
}
}
测试类:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Car aodi = new Aodi("奥迪A4", 500.0, 4);
Car mazida = new Mazida("马自达6", 400.0, 4);
Car pickup = new PickUp("皮卡雪6", 450.0, 4, 2);
Car jinlong = new JinLong("金龙", 800.0, 20);
Car songhuajiang = new SonHuaJiang("松花江", 400.0, 4);
Car yiweihe = new YiWeiHe("依维和", 1000.0, 20);
Scanner in = new Scanner(System.in);
while(true){
System.out.println("欢迎使用答答租车系统" + "\n" + "您是否要租车:1是 0否 ");
int a = in.nextInt();
if(a == 0){
System.out.println("谢谢使用!");
}else if(a<0||a>1){
System.out.println("输入错误!");
}else if(a == 1) {
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号 汽车名称 租金 容量");
System.out.println("1. 奥迪A4 500/天 载人:4人");
System.out.println("2. 马自达6 400/天 载人:4人");
System.out.println("3. 皮卡雪6 450/天 载人:4人载货:2吨");
System.out.println("4. 金龙 800/天 载人:20人");
System.out.println("5. 松花江 400/天 载货:4吨");
System.out.println("6. 依维和 1000/天 载货:20吨");
System.out.println("请输入您要租车的数量:");
int cheshu = in.nextInt();
int tianshu;
int[] xuhao = new int[100];
for(int i=0; i<cheshu; i++) {
System.out.println("请输入第" + (i+1) + "车的序号:");
xuhao[i] = in.nextInt();
}
System.out.println("请输入租车天数:");
tianshu = in.nextInt();
for(int i=0; i<cheshu; i++) {
switch(xuhao[i]) {
case 1:aodi.getmoney(tianshu);
aodi.getpeople(1);break;
case 2:mazida.getmoney(tianshu);
mazida.getpeople(1);break;
case 3:pickup.getmoney(tianshu);
pickup.getpeople(1);
pickup.getzaihuo(1);break;
case 4:jinlong.getmoney(tianshu);
jinlong.getpeople(1);break;
case 5:songhuajiang.getmoney(tianshu);
songhuajiang.getzaihuo(1);break;
case 6:yiweihe.getmoney(tianshu);
yiweihe.getzaihuo(1);break;
default:break;
}
}
/**************************************************************************************************************/
System.out.println("您的账单:");
int j=0,j1=0,j2=0,j3=0,j4=0,j5=0,j6=0;
int renshu = 0, huoshu = 0;
double zujin = 0.0;
System.out.println("*******可载人的车有:");
for(int i=0; i<cheshu; i++){
if(xuhao[i]==1 || xuhao[i]==2 || xuhao[i] == 3 || xuhao[i] == 4) {
switch(xuhao[i]){
case 1: if(j<1){System.out.print(aodi.name + " "); renshu+=aodi.allzaike; zujin+=aodi.allzujin;j++;} break;
case 2: if(j1<1){System.out.print(mazida.name + " "); renshu+=mazida.allzaike; zujin+=mazida.allzujin;j1++;}break;
case 3: if(j2<1){System.out.print(pickup.name + " "); renshu+=pickup.allzaike; zujin+=pickup.allzujin;j2++;}break;
case 4: if(j3<1){System.out.print(jinlong.name + " "); renshu+= jinlong.allzaike; zujin+=jinlong.allzujin;j3++;} break;
default:break;
}
}
}
System.out.print("共载人:" + renshu + "人" + "\n");
/**************************************************************************************************************/
System.out.println("*******可载货的车有:");
for(int i=0; i<cheshu; i++) {
if(xuhao[i]==5 || xuhao[i] == 6 || xuhao[i] == 3) {
switch(xuhao[i]){
case 3: if(j4<1){System.out.print(pickup.name + " "); huoshu+=pickup.allzaihuo; zujin+=pickup.allzujin;j4++;}break;
case 5: if(j5<1){System.out.print(songhuajiang.name + " ");huoshu+=songhuajiang.allzaihuo; zujin+=songhuajiang.allzujin;j5++;}break;
case 6: if(j6<1){System.out.print(yiweihe.name + " ");huoshu+=yiweihe.allzaihuo;zujin+=yiweihe.allzujin;j6++;}break;
default:break;
}
}
}
for(int i=0; i<cheshu; i++ ){
if(xuhao[i] == 3){
zujin = zujin - pickup.allzujin;
break;
}
}
System.out.println("共载货:" + huoshu + "吨" + "\n");
System.out.println("租车总价格:" + zujin + "元");
System.out.println("谢谢使用!");
aodi.qingling();
mazida.qingling();
pickup.qingling();
jinlong.qingling();
songhuajiang.qingling();
yiweihe.qingling();
}
for(int i=0;i<2; i++)
System.out.println();
System.out.println("*****************************************************************");
for(int i=0; i<2; i++)
System.out.println();
}
}
}
运行结果:
欢迎使用答答租车系统
您是否要租车:1是 0否
1
您可租车的类型及其价目表:
序号 汽车名称 租金 容量
1. 奥迪A4 500/天 载人:4人
2. 马自达6 400/天 载人:4人
3. 皮卡雪6 450/天 载人:4人载货:2吨
4. 金龙 800/天 载人:20人
5. 松花江 400/天 载货:4吨
6. 依维和 1000/天 载货:20吨
请输入您要租车的数量:
12
请输入第1车的序号:
1
请输入第2车的序号:
1
请输入第3车的序号:
2
请输入第4车的序号:
2
请输入第5车的序号:
3
请输入第6车的序号:
3
请输入第7车的序号:
4
请输入第8车的序号:
4
请输入第9车的序号:
5
请输入第10车的序号:
5
请输入第11车的序号:
6
请输入第12车的序号:
6
请输入租车天数:
2
您的账单:
*******可载人的车有:
奥迪A4 马自达6 皮卡雪6 金龙 共载人:64人
*******可载货的车有:
皮卡雪6 松花江 依维和 共载货:52吨
租车总价格:14200.0元
谢谢使用!
*****************************************************************
欢迎使用答答租车系统
您是否要租车:1是 0否