慕课网-Java入门第二季实战练习-答答租车系统

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+"元");
	}

}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值