首先Car大类
package com.dada;
public abstract class Car {
public final float price;
public final short canSavePerosonNumber;
public final float canSaveCargoNumber;
public final String carName;
public final int carId;
public Car (float price,float canSaveCargoNumber , short canSavePersonNumber , String carName , int carId){
this.price = price;
this.canSaveCargoNumber = canSaveCargoNumber;
this.canSavePerosonNumber = canSavePersonNumber;
this.carName = carName;
this.carId = carId;
}
public float getPrice() {
return price;
}
public short getCanSavePerosonNumber() {
return canSavePerosonNumber;
}
public float getCanSaveCargoNumber() {
return canSaveCargoNumber;
}
public String getCarName() {
return carName;
}
public int getCarId() {
return carId;
}
}
然后再写三个Car子类(HuoCar:货车;MiniCar:小车;PiCar:皮卡)
PiCar
package com.dada;
public class PiCar extends Car {
public final short carType;
public PiCar(float price, float canSaveCargoNumber,
short canSavePersonNumber, String carName, int carId) {
super(price, canSaveCargoNumber, canSavePersonNumber, carName, carId);
this.carType = 1;
}
public short getCarType() {
return carType;
}
}
MiniCar
package com.dada;
public class MiniCar extends Car{
public final short carType;
public MiniCar(float price, float canSaveCargoNumber,
short canSavePersonNumber, String carName, int carId) {
super(price, canSaveCargoNumber, canSavePersonNumber, carName, carId);
this.carType = 2;
}
public short getCarType() {
return carType;
}
}
HuoCar
package com.dada;
public class HuoCar extends Car {
public final short carType;
public HuoCar(float price, float canSaveCargoNumber,
short canSavePersonNumber, String carName, int carId) {
super(price, canSaveCargoNumber, canSavePersonNumber, carName, carId);
this.carType = 3;
}
public short getCarType() {
return carType;
}
}
然后是写Main方法
package com.dada;
import java.util.*;
public class Main {
public static Car[] carList;
/**
* @param args
*/
public static void main(String[] args) {
//Initialize
carList = new Car[10];
for (int i = 0; i<10;i++){
Random rand = new Random();
int type = rand.nextInt(3);
Car car = null;
switch (type) {
case 0:{
car = new PiCar(103.2f,10.0f,(short)3,"皮卡"+i,i);
break;}
case 1:{
car = new MiniCar(123.0f,0.0f,(short)3,"小车"+i,i);
break;}
case 2:{
car = new HuoCar(100.2f,10000.0f,(short)0,"货车"+i,i);
break;}
default:{
car = new HuoCar(100.2f,30000.0f,(short)3,"错误的车"+i,i);
break;}
}
carList[i] = car;
}
//Initialize-END
System.out.println("欢迎使用达达租车系统");
System.out.println("您是否要组车:1是 0否");
Scanner scan = new Scanner(System.in);
int canIn = scan.nextInt();
if (canIn == 1){
//打印所有数据
System.out.println("序号\t汽车名称\t租金\t\t容量");
for (int i = 0; i < carList.length; i++) {
Car content = carList[i];
System.out.println(i+1+".\t"
+content.carName+"\t"
+content.price+"元/天\t"
+(content.canSavePerosonNumber>0?"载人:"+content.canSavePerosonNumber+"人 ":"")
+(content.canSaveCargoNumber>0.0f?"载货:"+content.canSaveCargoNumber/1000.0f+"吨":""));
}
System.out.println("请输入您要租汽车的数量:");
Scanner carNumberScan = new Scanner(System.in);
int carNumber = carNumberScan.nextInt();
if (carNumber > 0) {
Car[] carSelected = new Car[carNumber];
float[] carSelectedTime = new float[carNumber];
for (int i = 0; i < carSelected.length; i++) {
System.out.println("请输入第"+(i+1)+"车的序号");
Scanner selectedCar = new Scanner(System.in);
int selectedCarNumber = selectedCar.nextInt()-1;
if (selectedCarNumber >= carList.length || selectedCarNumber<0) {
System.out.println("您输入的车辆序号不存在");
i--;
continue;
}else{
Car selected = carSelected[i] = carList[selectedCarNumber];
System.out.println("输入车辆"+selected.carName+"租用的时间(单位为天)");
Scanner selectedTime = new Scanner(System.in);
float selectedCarTime = selectedTime.nextFloat();
if (selectedCarTime>0) {
carSelectedTime[i] = selectedCarTime;
//展示:
Car isSelectedCar = carSelected[i];
System.out.println("已为您保存:"+isSelectedCar.carName+" 天数为:"+selectedCarTime);
}else{
System.out.println("您输入的时间小于等于0天,已自动为您去除该车辆");
i--;
continue;
}
}
}
//展示:
System.out.println("您的账单:");
float allPrice = 0.0f;
int allPersonNumber = 0;
float allCargoNumber = 0.0f;
String canSavePersonString = "";
String canSaveCargoString = "";
//总金额、获取车辆类别对应的数量
for (int i = 0; i < carSelected.length; i++) {
Car selected = carSelected[i];
allPrice +=selected.price;
if (selected.canSaveCargoNumber>0) {
canSaveCargoString += selected.carName+" ";
allCargoNumber += selected.canSaveCargoNumber;
}
if (selected.canSavePerosonNumber>0) {
canSavePersonString += selected.carName+" ";
allPersonNumber += selected.canSavePerosonNumber;
}
}
System.out.println("***可载人的车有:");
System.out.println(canSavePersonString+"共载人:"+allPersonNumber+"人");
System.out.println("***可载货的车有:");
System.out.println(canSaveCargoString+"共载货:"+(allCargoNumber/1000.0f)+"吨");
System.out.println("***组车总价格:"+allPrice+"元");
}else{
System.out.println("谢谢您浏览");
}
}else{
System.out.println("欢迎再来");
}
}
}
运行效果(图片):
运行效果(文本):
欢迎使用达达租车系统
您是否要组车:1是 0否
1
序号 汽车名称 租金 容量
1. 皮卡0 103.2元/天 载人:3人 载货:0.01吨
2. 小车1 123.0元/天 载人:3人
3. 皮卡2 103.2元/天 载人:3人 载货:0.01吨
4. 皮卡3 103.2元/天 载人:3人 载货:0.01吨
5. 皮卡4 103.2元/天 载人:3人 载货:0.01吨
6. 皮卡5 103.2元/天 载人:3人 载货:0.01吨
7. 小车6 123.0元/天 载人:3人
8. 皮卡7 103.2元/天 载人:3人 载货:0.01吨
9. 货车8 100.2元/天 载货:10.0吨
10. 皮卡9 103.2元/天 载人:3人 载货:0.01吨
请输入您要租汽车的数量:
5
请输入第1车的序号
1
输入车辆皮卡0租用的时间(单位为天)
1
已为您保存:皮卡0 天数为:1.0
请输入第2车的序号
2
输入车辆小车1租用的时间(单位为天)
3
已为您保存:小车1 天数为:3.0
请输入第3车的序号
3
输入车辆皮卡2租用的时间(单位为天)
33
已为您保存:皮卡2 天数为:33.0
请输入第4车的序号
4
输入车辆皮卡3租用的时间(单位为天)
4
已为您保存:皮卡3 天数为:4.0
请输入第5车的序号
5
输入车辆皮卡4租用的时间(单位为天)
5
已为您保存:皮卡4 天数为:5.0
您的账单:
***可载人的车有:
皮卡0 小车1 皮卡2 皮卡3 皮卡4 共载人:15人
***可载货的车有:
皮卡0 皮卡2 皮卡3 皮卡4 共载货:0.04吨
***组车总价格:535.8元
点击查看更多内容
5人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦