package com.dadazuche;
public class Car {
private int price;
private String name;
private int id;
public int getId(){
return id;
}
public void setId(int id){
this.id=id;
}
public int getPrice(){
return price;
}
public void setPrice(int price){
this.price=price;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
package com.dadazuche;
public class AutoCar extends Car implements ILoadPerson {
private int numbers;
public AutoCar(int id,String name,int price,int newloadperson){
super.setId(id);
super.setName(name);
super.setPrice(price);
this.setloadPerson(newloadperson);
}
public void setloadPerson(int number){
this.numbers=number;
}
public int getloadPerson(){
return numbers;
}
public String toString(){
return super.getId()+" "+super.getName()+"\t"+super.getPrice()+"元/天\t"+" "+"载人:"+this.getloadPerson()+"人";
}
}
package com.dadazuche;
public interface ILoadPerson {
public void setloadPerson(int number);
public int getloadPerson();
}
package com.dadazuche;
public abstract interface ILoadGoods {
public abstract void setloadGoods(int number);
public abstract int getloadGoods();
}
package com.dadazuche;
public class Trunk extends Car implements ILoadGoods{
private int numbers;
public Trunk(int id,String name,int price,int newloadGoods){
super.setId(id);
super.setName(name);
super.setPrice(price);
this.setloadGoods(newloadGoods);
}
public void setloadGoods(int number){
this.numbers=number;
}
public int getloadGoods(){
return this.numbers;
}
public String toString(){
return super.getId()+" "+super.getName()+"\t"+super.getPrice()+"天/元\t"+" "+"载货:"+this.getloadGoods()+"吨";
}
}
package com.dadazuche;
public class PickUpCar extends Car implements ILoadGoods,ILoadPerson{
private int personNumber;
private int goodsNumber;
public PickUpCar(int id,String name,int price,int newloadPerson,int newloadGoods){
super.setId(id);
super.setName(name);
super.setPrice(price);
this.setloadPerson(newloadPerson);
this.setloadGoods(newloadGoods);
}
public void setloadPerson(int number){
this.personNumber=number;
}
public int getloadPerson(){
return this.personNumber;
}
public void setloadGoods(int number){
this.goodsNumber=number;
}
public int getloadGoods(){
return this.goodsNumber;
}
public String toString(){
return super.getId()+" "+super.getName()+"\t"+super.getPrice()+"元/天\t"+" "+"载人"+this.getloadPerson()+"吨";
}
}
package com.dadazuche;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);//获取从键盘输入的对象
System.out.println("欢迎使用答答租车系统");
System.out.println("您是否要租车:1是 0否");
int num=sc.nextInt();
Car[] cars={
new AutoCar(1,"奥迪A4",500,4),
new AutoCar(2,"马自达6",400,4),
new PickUpCar(3,"皮卡雪6",450,4,2),
new AutoCar(4,"金龙",800,20),
new Trunk(5,"松花江",400,4),
new Trunk(6,"依维柯",1000,20)
};//定义数组成员;
if(num!=1){
System.out.println("欢迎下次光临");
System.exit(0);//表示正常退出程序,System.exit(status)不管status为何值都会退出程序。System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序。
}else{
System.out.println("您可租车的类型及价目表:");
System.out.println("序号 汽车名称 租金 容量");
for(int i=0;i<cars.length;i++){
System.out.println(cars[i]);
}
}
int priceSum=0;
int loadPersonSum=0;
int loadGoodsSum=0;
String personNames="";//定义String型的personName,注意赋值的形式
String goodsNames="";
System.out.println("请输入您要租车的数量:");
int count=sc.nextInt();
for(int i=1;i<=count;i++){
System.out.println("请输入第"+i+"辆车的序号");
int k=sc.nextInt()-1;
//通过实例的“getClass()”方法获得该对象的类型类,使用“.class”的方法获得该类型的类型类。
if(cars[k].getClass()==AutoCar.class){
personNames=personNames+cars[k].getName()+"\t";
loadPersonSum=loadPersonSum+((AutoCar)cars[k]).getloadPerson();
priceSum=priceSum+cars[k].getPrice();
}else if(cars[k].getClass()==Trunk.class){
goodsNames=goodsNames+cars[k].getName()+"\t";
loadGoodsSum=loadGoodsSum+((Trunk)cars[k]).getloadGoods();
priceSum=priceSum+cars[k].getPrice();
}else if(cars[k].getClass()==PickUpCar.class){
personNames=personNames+cars[k].getName()+"\t";
goodsNames=goodsNames+cars[k].getName()+"\t";
loadPersonSum=loadPersonSum+((PickUpCar)cars[k]).getloadPerson();
loadGoodsSum=loadGoodsSum+((PickUpCar)cars[k]).getloadGoods();
priceSum=priceSum+cars[k].getPrice();
}
}
System.out.println("请输入租车天数:");
int days=sc.nextInt();
System.out.println("可载人的车有:");
System.out.println(personNames+"共载人:"+loadPersonSum+"人");
System.out.println("载货的车有:");
System.out.println(goodsNames+"共载货:"+loadGoodsSum+"吨");
System.out.println("租车总价格:"+priceSum*days+"元");
}
}