Car.java
package com.imooc;
public abstract class Car {//这是载客车
private int amount;//载客数量
public abstract void run();
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
}
CarGo.java
package com.imooc;
public interface CarGo extends CarGoB{//这是载货车
double ton=2;
public void freight();
}
CarGo2.java
package com.imooc;
public interface CarGo2 extends CarGoB{//这是载货车
double ton=4;
public void freight2();
}
CarGo3.java
package com.imooc;
public interface CarGo3 extends CarGoB{//这是载货车
double ton=20;
public void freight3();
}
CarGoB.java
package com.imooc;
public interface CarGoB {
public double ton=0;
}
LCarGo.java
package com.imooc;
public class LCarGo extends Car implements CarGo3{
public void run(){
System.out.println("这是辆大货车,载客为0");
}
@Override
public void freight3() {
// TODO Auto-generated method stub
System.out.println("这辆车能载大货物");
}
}
SCarGo.java
package com.imooc;
public class SCarGo extends Car implements CarGo,CarGo2{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("这是轻型货车,载客为0");
}
@Override
public void freight() {
// TODO Auto-generated method stub
System.out.println("这辆车能载小货物");
}
@Override
public void freight2() {
// TODO Auto-generated method stub
System.out.println("这辆车能载小货物");
}
}
Initial.java
package com.imooc;
import java.util.Scanner;
public class Initial {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car aoDi=new SCarGo();//建立一个载人的奥迪对象
aoDi.setAmount(4);
CarGoB CaoDi=new SCarGo();//建立一个载货的奥迪对象
Car maZiDa=new SCarGo();//载人马自达
maZiDa.setAmount(4);
CarGoB CmaZiDa=new SCarGo();//载货马自达
Car piKaXue=new SCarGo();//载人皮卡雪
piKaXue.setAmount(4);
CarGo CpiKaXue=new SCarGo();//载货皮卡雪
Car jinLong=new LCarGo();//载人金龙
jinLong.setAmount(20);
CarGoB CjinLong=new LCarGo();//载货金龙
Car sHuaJiang=new SCarGo();//载人松花江
sHuaJiang.setAmount(0);
CarGo2 CsHuaJiang=new SCarGo();//载货松花江
Car yWeiKe=new LCarGo();//载人依维柯
yWeiKe.setAmount(0);
CarGo3 CyWeiKe=new LCarGo();//载货依维柯
System.out.println("欢迎使用答答租车系统:");
System.out.println("您是否要租车:1是 0否");
Scanner in=new Scanner(System.in);//进行输入操作
int input=in.nextInt();//输入整型
if(input==1){
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号 汽车名称 租金 容量");
System.out.println("1. 奥迪A4 500$/天 载人:"+aoDi.getAmount()+"人");
System.out.println("2. 马自达6 400$/天 载人:"+maZiDa.getAmount()+"人");
System.out.println("3. 皮卡雪6 450$/天 载人:"+piKaXue.getAmount()+" "+"载货:"+CpiKaXue.ton+"吨");
System.out.println("4. 金龙 800$/天 载人:"+jinLong.getAmount()+"人");
System.out.println("5. 松花江 400$/天 载货:"+CsHuaJiang.ton+"吨");
System.out.println("6. 依维柯 1000$/天 载货:"+CyWeiKe.ton+"吨");
System.out.println("请输入您要租汽车的数量:");
int i=in.nextInt();//租车数量
final int cunI=i;//存租车数量
int renNum=0;//统计总载人数
double huoNum=0;//统计总载货量
double bill=0;//统计租车的总价格
int[] jiK=new int[i]; ;//建立一个数组,为了存放用户按顺序选择的车编号
Car[] cheR=new Car[]{aoDi,maZiDa,piKaXue,jinLong,sHuaJiang,yWeiKe};//显示每一辆车的载人数,为了方便计算总载人数
double[] cheH=new double[6];//显示每一辆车的载货量,为了方便计算载货量
{
cheH[0]=CaoDi.ton;
cheH[1]=CmaZiDa.ton;
cheH[2]=CpiKaXue.ton;
cheH[3]=CjinLong.ton;
cheH[4]=CsHuaJiang.ton;
cheH[5]=CyWeiKe.ton;
}
double[] che$=new double[]{500,400,450,800,400,1000};//显示每一辆车租一天的价格,为了方便计算总价格
String[] cheName=new String[]{"奥迪A4","马自达6","皮卡雪6","金龙","松花江","依维柯"};
for(int j=0;i>0;i--,j++){
System.out.println("请输入第"+(j+1)+"辆车的序号");
int k=in.nextInt()-1;//数组是从零开始的,这里-1的操作是为了与数组下标匹配
jiK[j]=k;//用于存放用户按顺序选择的车编号
renNum+=cheR[k].getAmount();//获取总载人数
huoNum+=cheH[k];//获取总载货数
bill+=che$[k];//获取所租的车一天的总价格
}
System.out.println("请输入租车的天数:");
int tian=in.nextInt();
bill*=tian;//租车的总价格*租车天数,获取真实租车价格;
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
i=cunI;//重置i,使它为用户输入的值
for(int j=0;i>0;i--,j++){
//int k=in.nextInt()-1;//数组是从零开始的,这里-1的操作是为了与数组下标匹配
if(cheR[jiK[j]].getAmount()>0){//判断载人是否为0,不为0就进行打印车名
System.out.print(""+cheName[jiK[j]]+" ");//打印车名;
}
}
System.out.print("共载人:"+renNum+"人");
System.out.println();
System.out.println("***可载货的车有:");
i=cunI;//重置i,使它为用户输入的值
for(int j=0;i>0;i--,j++){
//int k=in.nextInt()-1;
if(cheH[jiK[j]]>0){//判断载货量是否为0,不为0就进行车名打印;
System.out.print(""+cheName[jiK[j]]+" ");
}
}
System.out.print("共载货:"+huoNum+"吨");
System.out.println();
System.out.println("***租车总价格:"+bill+"元");
}else{
System.out.println("期待您下次光临!");
}
}
}