/**

* 汽车抽象类

*

* @author Administrator

*

*/

public abstract class Auto {

private String name;

private double price;

public Auto(String name, double price) {

this.name = name;

this.price = price;

}

public String getName() {

return name;

}

public double getPrice() {

return price;

}

@Override

public String toString() {

return name + "\t" + price + "\t";

}

}

/**载客汽车类

* @author Administrator

*

*/

public class PassengerCar extends Auto {

private int passengerCapacity;

public PassengerCar(String name, double price, int passengerCapacity) {

super(name, price);

this.passengerCapacity = passengerCapacity;

}

public int getPassengerCapacity() {

return passengerCapacity;

}

@Override

public String toString() {

return super.toString()+ "载客:"+passengerCapacity+"人" ;

}

public static void main(String[] args) {

Auto PassengerCar=new PassengerCar("路虎",100,5);

System.out.println(PassengerCar.getName());

//System.out.println(PassengerCar.getBusload());//Error,由动态绑定机制决定

PassengerCar bus2=new PassengerCar("路虎2",100,5);

System.out.println(bus2.getName());

System.out.println(bus2.getPassengerCapacity());

System.out.println(bus2.toString());

}

}

/**卡车类

* @author Administrator

*

*/

public class Truck extends Auto{

private double cargoCapacity;

public Truck(String name, double price, double cargoCapacity) {

super(name, price);

this.cargoCapacity = cargoCapacity;

}

public double getCargoCapacity() {

return cargoCapacity;

}

@Override

public String toString() {

return super.toString() + "载货:"+cargoCapacity + "吨";

}

}

/**

* 皮卡类(载货载客汽车)

*

* @author Administrator

*

*/

public class PickUp extends Auto {

private int passengerCapacity;

private double cargoCapacity;

public PickUp(String name, double price, int passengerCapacity, double cargoCapacity) {

super(name, price);

this.passengerCapacity = passengerCapacity;

this.cargoCapacity = cargoCapacity;

}

public int getPassengerCapacity() {

return passengerCapacity;

}

public double getCargoCapacity() {

return cargoCapacity;

}

@Override

public String toString() {

return super.toString() + "载客:" + passengerCapacity + "人 " + "载货:" + cargoCapacity + "人";

}

}

import java.util.ArrayList;

import java.util.Scanner;

/**

* 租车系统

*

* @author Administrator

*

*/

public class CarRentingSystem {

private ArrayList auto = new ArrayList();// 汽车数据

/**

* 初始化汽车数据

*/

public void initAuto() {

auto.add(new PassengerCar("奥迪A6", 500, 4));

auto.add(new PassengerCar("马自达6", 400, 4));

auto.add(new PickUp("皮卡雪6", 450, 4, 2));

auto.add(new PassengerCar("金龙", 800, 20));

auto.add(new Truck("松花江", 300, 3));

auto.add(new Truck("依维柯", 1000, 20));

}

/**

* 显示汽车信息

*/

public void displayAuto() {

System.out.println("您可租的汽车信息:");

System.out.println("序号\t车型\t租金\t容量");

// 遍历汽车数据

for (int i = 0; i < auto.size(); i++)

System.out.println(i + 1 + "\t" + auto.get(i).toString());

}

/**

* 选车的方法

*

* @param in

* 标准输入流

* @return 选中车辆的序号

*/

public int[] selectAuto(Scanner in) {

System.out.println("请输入您要租汽车的数量:");

int carRentNum = in.nextInt();// 租车数目

int[] carRenOrders = new int[carRentNum];// 租车序号

for (int i = 0; i < carRentNum; i++) {// 记录车辆序号

System.out.println("请输入第" + (i + 1) + "辆车的序号:");

carRenOrders[i] = in.nextInt();

}

return carRenOrders;

}

/**

* 租车信息统计

*

* @param carRenOrders

* 选中车辆的序号

* @param carRentDays

* 租车天数

*/

public void countUp(int[] carRenOrders, int carRentDays) {

int totalPrice = 0;

int totalPassengerCapacity = 0;

int totalCargoCapacity = 0;

String passengerCarList = "";

String cargoCarList = "";

for (int i = 0; i < carRenOrders.length; i++) {// 遍历每一辆选中的车

Auto a = auto.get(i);

if (a instanceof PassengerCar) {// 判断汽车类型

totalPassengerCapacity += ((PassengerCar) a).getPassengerCapacity();

passengerCarList += " " + a.getName();

}

if (a instanceof Truck) {

totalCargoCapacity += ((Truck) a).getCargoCapacity();

cargoCarList += " " + a.getName();

}

if (a instanceof PickUp) {

totalPassengerCapacity += ((PickUp) a).getPassengerCapacity();

totalCargoCapacity += ((PickUp) a).getCargoCapacity();

cargoCarList += " " + a.getName();

passengerCarList += " " + a.getName();

}

totalPrice += a.getPrice();

}

System.out.println("您的账单:");

System.out.println("***可载客的汽车有:");

System.out.println(passengerCarList + " 共载客:" + totalPassengerCapacity + "人");

System.out.println("***可载货的汽车有:");

System.out.println(cargoCarList + " 共载货:" + totalCargoCapacity + "吨");

System.out.println("***租车总价格:" + totalPrice * carRentDays + "元");

}

public static void main(String[] args) {

CarRentingSystem crs = new CarRentingSystem();

crs.initAuto();// 初始化汽车数据

while (true) {

System.out.println("欢迎使用哒哒租车系统!");

System.out.println("您是否要租车?1是 0否");

Scanner in = new Scanner(System.in);

if (in.nextInt() == 0)

continue;

else {// 需要租车

crs.displayAuto();// 显示待租汽车信息

int[] carRenOrders = crs.selectAuto(in);// 选车

System.out.println("请输入租车天数:");// 租车天数

int carRentDays = in.nextInt();

crs.countUp(carRenOrders, carRentDays);// 租车信息统计

}

}

}

}

欢迎使用哒哒租车系统!

您是否要租车?1是 0否

1

您可租的汽车信息:

序号 车型 租金 容量

1 奥迪A6 500.0 载客:4人

2 马自达6 400.0 载客:4人

3 皮卡雪6 450.0 载客:4人 载货:2.0人

4 金龙 800.0 载客:20人

5 松花江 300.0 载货:3.0吨

6 依维柯 1000.0 载货:20.0吨

请输入您要租汽车的数量:

3

请输入第1辆车的序号:

1

请输入第2辆车的序号:

3

请输入第3辆车的序号:

5

请输入租车天数:

1

您的账单:

可载客的汽车有:

奥迪A6 马自达6 皮卡雪6 共载客:12人可载货的汽车有:

皮卡雪6 共载货:2吨

***租车总价格:1350元

欢迎使用哒哒租车系统!

您是否要租车?1是 0否

0

欢迎使用哒哒租车系统!

您是否要租车?1是 0否

打开App,阅读手记

java 二嗨租车项目,Java小项目 -- 答答租车系统(已自测通过)相关推荐

  1. java二维数组的创建,java二维数组创建方法

    java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...

  2. java计算机毕业设计基于安卓Android/微信小程序的大学生学习激励系统APP

    项目介绍 网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,对于微信小程序的英语学习激励系统将又是一个传统管理到智能化信息管理的典型案例,对于传统的英语学习激励管理,所 ...

  3. java二嗨租车项目_JAVA 第二季项目作业-租车系统

    第一次完成JAVA项目作业,花了近4个小时 弄懂了CMD下的运行和eclips下运行的不一样 父类CAR package car_demo; public class car { // 车的属性 St ...

  4. java二嗨租车项目_JAVA第二季项目实战———答答租车系统代码

    总共5个类: 第1个类:Car package DaDaRentCar; //父类 public class Car { String name; //车名 int money; //租金 int c ...

  5. java 二嗨租车项目_Java第二季租车系统参考

    首先创建一个汽车的抽象类CarStore,里面包含汽车的编号ID,车名Name以及价格Price,并且创建set和get方法. package cw.lojako.carrent; public ab ...

  6. java二嗨租车项目_Java入门第二季6-1项目问题 —嗒嗒租车系统(参考各位大神的思路写出来的)...

    载客接口A-载客量 package car.rental; public interface IPassengerCapacity { public int PassengerCapacity(int ...

  7. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  8. java开心消消乐代码_Java小项目之:教你做开心消消乐!

    Java小项目之:教你做个开心消消乐! 今天给大家带来的小项目是开心消消乐(连连看),还是一样的惯例.操作简单,适合java初学者练手.想看其他java小项目的朋友可以关注我,我会持续更新,也可以私信 ...

  9. java开心消消乐代码_Java小项目之:教你做个开心消消乐!

    Java小项目之:教你做个开心消消乐! 今天给大家带来的小项目是开心消消乐(连连看),还是一样的惯例.操作简单,适合java初学者练手.想看其他java小项目的朋友可以关注我,我会持续更新,也可以私信 ...

最新文章

  1. 去除文本框点击的背影
  2. java语言的多态性及特点_Java中的方法的多态性有两种形式:( )和( )。_学小易找答案...
  3. 快速了解和使用Photon Server
  4. java发送get post请求_【工具】java发送GET、POST请求
  5. 电子科技大学计算机网络技术专业,计算机专业前景如何?最强十大高校有哪些?电子科大排名多少?...
  6. asp写入mysql拿shell_mysql误删数据快速恢复
  7. C语言整型在计算机的储存
  8. Oracle分页查询格式(八)
  9. strong,weak, retain, assign的区别@property的参数
  10. java 下载 名乱码_java下载文件中文文件名乱码
  11. 跨平台局域网文件传输工具——Dukto R5
  12. MCAFEE卸载软件测试初学者,迈克菲卸载软件怎么用(手把手教你彻底卸载干净)...
  13. 怎么在档案写自己的计算机水平,关于个人档案怎么写范文
  14. 测试网站速度的8款免费工具推荐
  15. [linux小水滴]工具安装与使用
  16. ethereum-etl学习
  17. 卸载Macfee杀毒软件之后Outlook无法加载项scanotlk.dll,outlook已经将其禁用
  18. 红领巾小创客机器人活动计划_红领巾小创客活动方案三篇
  19. 吴昊品工程级别软件项目 Round 3 —— Mobile Safe(for android)
  20. 骚操作!Python查看微信共同好友

热门文章

  1. P1622 释放囚犯题解
  2. 佐罗zorrogo服务器关闭,个别手机用不了更换新源即可正常恢复使用备份数据不变
  3. vulnhub之CH4INRULZ渗透测试实战
  4. 网页打开速度的心理学
  5. 游戏建模 | 适用于设计师制作平铺材质(Zbrush砖石平铺)
  6. GIT查看本地分支和远程分支
  7. 浅谈质量方案中的预案
  8. vue-cli项目中引入vue-i18n
  9. 电商项目-商品详情页的实现
  10. aws api gateway 网关的身份和访问管理