慕课网Java入门第二季6.1 达达租车系统,使用到继承重写多态toString函数

Posted 吕江民的个人博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了慕课网Java入门第二季6.1 达达租车系统,使用到继承重写多态toString函数相关的知识,希望对你有一定的参考价值。

为了方便理解,画了个UML图,可以参考一下为了方便理解,画了个UML图,可以参考一下


定义Car类型:载人+载货

public class Car {
	int id;
	String name;
	int seat;
	double load;
	double price;
	public Car(int id,String name,int seat,double load,double price){
		this.id = id;
		this.name = name;
		this.seat = seat;
		this.load = load;
		this.price = price;
	}
	public String toString(){
		return id+"\\t"+name+"\\t"+seat+"座\\t"+load+"吨\\t"+price+"元";
	}
}

  


定义LoadCar继承Car,重写构造方法(载货,则座位=0)

public class LoadCar extends Car {
	public LoadCar(int id,String name,double load,double price){
		super(id,name,0,load,price);
	}
	public String toString(){
		return id+"\\t"+name+"\\t"+seat+"\\t"+load+"\\t"+price;
	}
}

  


`定义SeatCar继承Car,重写构造方法(载人,则载货=0)

public class SeatCar extends Car {
	public SeatCar(int id,String name,int seat,double price){
		super(id,name,seat,0,price);
	}
	public String toString(){
		return id+"\\t"+name+"\\t"+seat+"\\t"+load+"\\t"+price;
	}
}

  


实现(主要就是业务流程):

import java.util.Scanner;;

public class Initail {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("您是否要租车?1、是;2、否");
		Scanner in = new Scanner(System.in);
		if(in.nextInt()==1){
			Car[] cars = new Car[5];
			cars[0]=new SeatCar(1,"奥迪A8",4,400);
			cars[1]=new SeatCar(2,"特斯拉",4,500);
			cars[2]=new Car(3,"皮卡丘",4,2,200);
			cars[3]=new LoadCar(4,"松花江",10,200);
			cars[4]=new LoadCar(5,"黑龙江",20,300);
			System.out.println("现有5种车型可供您选择:");
			System.out.println("序号"+"\\t"+"车型"+"\\t"+"座位(座)"+"\\t"+"载重(吨)"+"\\t"+"租金/天");
			for(Car c : cars){
				System.out.println(c);
			}
			int totalSeat = 0;
			double totalLoad = 0;
			double totalPrice = 0;
			String loadCarList = "";
			String seatCarList = "";
			System.out.println("请输入您要租车的数量");
			int rentNum = in.nextInt();
			for(int i=0;i<rentNum;i++){
				System.out.println("你要选择的第"+(i+1)+"辆车的序号");
				int rentId = in.nextInt();
				if(rentId<5){
					totalSeat = totalSeat + cars[rentId-1].seat;
					totalLoad = totalLoad + cars[rentId-1].load;
					totalPrice = totalPrice + cars[rentId-1].price;
					if(cars[rentId-1].seat!=0){
						seatCarList = seatCarList + cars[rentId-1] + "\\n";						
					}else if(cars[rentId-1].load!=0){
						loadCarList = loadCarList + cars[rentId-1] + "\\n";						
					}
				}else{
					System.out.println("不好意思,请选择现有的车辆(序号1-5)");
				}
			}
			System.out.println("请输入您要租车的天数");
			int rentDays = in.nextInt();
			System.out.println("/********************** 以下是您此次的租车账单 **********************/");
			if(seatCarList==""){
				System.out.println("没有可载人的车");
			}else{
				System.out.println("可载人的车辆有\\n"+seatCarList);
				System.out.println("总座位数"+totalSeat);
			}
			if(loadCarList==""){
				System.out.println("没有可载货的车");
			}else{
				System.out.println("可载人的车辆有\\n"+seatCarList);
				System.out.println("总载货量"+totalLoad);
			}
			System.out.println("总价格:"+totalPrice*rentDays+"元");
		}else{
			System.out.println("感谢您的使用");
		}
	}

}

  

 

以上是关于慕课网Java入门第二季6.1 达达租车系统,使用到继承重写多态toString函数的主要内容,如果未能解决你的问题,请参考以下文章

慕课网-哒哒租车系统

Java基础__慕课网学习(25):Java第二季4.7 UML与PowerDesigner在Java设计中的应用,找了一篇比较好的博客,转载在这里

Java入门第二季——Java中的this关键字

Hello World !

Java集合框架学习笔记

2017.4.26 慕课网--Java 高并发秒杀API