慕课网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设计中的应用,找了一篇比较好的博客,转载在这里