//main入口

package RentCar;

import java.util.Scanner;

public class Dada {

public static void main(String[] args) {

// TODO 自动生成的方法存根

//各类汽车的属性的定义

Car audi = new Audi();

Car mazda = new Mazda();

Car pickup = new Pickup();

Car kingLong = new KingLong();

Car songHuaJiang = new SongHuaJiang();

Car naveco = new Naveco();

audi.num = 1;

audi.name = "奥迪A4";

audi.price = 500 ;

audi.amount = 20 ;

mazda.num = 2;

mazda.name ="马自达6";

mazda.price = 400;

mazda.amount = 20;

pickup.num = 3;

pickup.name ="皮卡雪6";

pickup.price = 450;

pickup.amount = 20;

kingLong.num = 4;

kingLong.name ="金龙";

kingLong.price = 800;

kingLong.amount = 20;

songHuaJiang.num = 5;

songHuaJiang.name ="松花江";

songHuaJiang.price = 400;

songHuaJiang.amount = 20;

naveco.num = 6;

naveco.name ="依维柯";

naveco.price = 1000;

naveco.amount = 20;

int i,price=0,num=0,amount=0,amountRemain=0;

Scanner input = new Scanner(System.in);

do{

System.out.println("请问您是否要租车:1.是 2.否");

i = input.nextInt();

if(i == 1)

{

System.out.println("序号 汽车名称 价格 数量 容量");

System.out.print(audi.num+". "+audi.name+" "+audi.price+"元/天 "+audi.amount+" ");

audi.volume();

System.out.print(mazda.num+". "+mazda.name+" "+mazda.price+"元/天 "+mazda.amount+" ");

mazda.volume();

System.out.print(pickup.num+". "+pickup.name+" "+pickup.price+"元/天 "+pickup.amount+" ");

pickup.volume();

System.out.print(kingLong.num+". "+kingLong.name+" "+kingLong.price+"元/天 "+kingLong.amount+" ");

kingLong.volume();

System.out.print(songHuaJiang.num+". "+songHuaJiang.name+" "+songHuaJiang.price+"元/天 "+songHuaJiang.amount+" ");

songHuaJiang.volume();

System.out.print(naveco.num+". "+naveco.name+" "+naveco.price+"元/天"+naveco.amount+" ");

naveco.volume();

do{

System.out.print("请输入您要租车的序号:");

num = input.nextInt();

if(num<1 || num>6)

System.out.println("您输入的信息非法,请重新输入!");

}while(num<1 || num>6);

switch(num){

case 1 :

amountRemain = audi.amount;

price = audi.price;

break;

case 2 :

amountRemain = mazda.amount;

price = mazda.price;

break;

case 3 :

amountRemain = pickup.amount;

price = pickup.price;

break;

case 4 :

amountRemain = kingLong.amount;

price = kingLong.price;

break;

case 5 :

amountRemain = songHuaJiang.amount;

price = songHuaJiang.price;

break;

case 6 :

amountRemain = naveco.amount;

price = naveco.price;

break;

}

do{

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

amount = input.nextInt();

if(amount < 0 || amount > amountRemain)

System.out.println("您输入的信息非法,请重新输入!");

}while(amount < 0 || amount > amountRemain);

System.out.println("此次您需要支付"+(price*amount)+"元/天");

switch(num){

case 1 :

audi.amount -= amount;

break;

case 2 :

mazda.amount -= amount;

break;

case 3 :

pickup.amount -= amount;

break;

case 4 :

kingLong.amount -= amount;

break;

case 5 :

songHuaJiang.amount -= amount;

break;

case 6 :

naveco.amount -= amount;

break;

}

price=0;

num=0;

amount=0;

amountRemain=0;

}

else{

System.out.println("感谢您使用嗒嗒租车系统");

break;

}

}while(true);

}

}

//父类Car

package RentCar;

public abstract class Car {

public int num;

public String name;

public int price;

public int amount;

public abstract void volume();

}

//子类Mazda

package RentCar;

public class Mazda extends Car {

public void volume() {

// TODO 自动生成的方法存根

System.out.println("载人:4人");

}

}

//子类Pickup

package RentCar;

public class Pickup extends Car {

public void volume() {

// TODO 自动生成的方法存根

System.out.println("载人:4人,载货:2吨");

}

}

//子类KingLong

package RentCar;

public class KingLong extends Car {

public void volume() {

// TODO 自动生成的方法存根

System.out.println("载人:20人");

}

}

//子类Audi

package RentCar;

public class Audi extends Car {

public void volume() {

// TODO 自动生成的方法存根

System.out.println("载人:4人");

}

}

//子类SongHuaJiang

package RentCar;

public class SongHuaJiang extends Car {

public void volume() {

// TODO 自动生成的方法存根

System.out.println("载货:4吨");

}

}

//子类Naveco

package RentCar;

public class Naveco extends Car {

public void volume() {

// TODO 自动生成的方法存根

System.out.println("载货:20吨");

}

}

java感谢_这三天看完Java入门第一季和第二季的成果!纪念一下!感谢Java入门的作者!...相关推荐

  1. JAVA MemCache 史无前例的详细讲解 看完包精通MEMCACHE

    JAVA MemCache 史无前例的详细讲解!看完包精通MEMCACHE! 分类: 高并发_性能2012-08-22 09:15 5051人阅读 评论(0) 收藏 举报 javastringobje ...

  2. 图解 Java 线程的生命周期,看完再也不怕面试官问了

    文章首发自个人微信公众号: 小哈学Java www.exception.site/java-concur- 在 Java 初中级面试中,关于线程的生命周期可以说是常客了.本文就针对这个问题,通过图文并 ...

  3. Java 知识总结大汇总!看完哪个都变大佬!

    免费编程资源大全项目:https://github.com/liyupi/free-programming-resources 大家好,我是鱼皮,今天分享 十几个 让人直呼 "哇塞" ...

  4. 三万字的java I/O流基础总结看完肯定能把女朋友教会

    目录: 1.File类详解 2.I/O流概述 3.字节输出流(OutputStream) 4.字节输入流(InputStream) 5. 字符流概述 6.字符输入流(Reader) 7.字符输出流(W ...

  5. 握手失败_拜托了,看完这篇别再问我什么是TCP三次握手和四次挥手

    TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 三次握手如何建立连接? 三次握手建立链接 从图中可以清楚的看到, ...

  6. java开发架构设计_跪了!阿里技术官出品:Java架构设计之完美,看完秒进大厂。...

    写在前面 "给我一个支点,我就能撬起地球".关键不在于力量有多大,而在于如何合理地利用力量.软件设计同样如此.思想的确立,技巧的把握,将在很大程度上决定软件架构的合理性.内容涵盖了 ...

  7. catv系统主要有哪三部分组成_有线电视系统,看完电力工程技术专家分析,顿时学会了,太经典...

    此图为有线电视系统图,由一些分支器.放大器.调制器等组成. 分支器与分配器 1.分配器和分支器是用来把一路信号分成多路,进而分配给不同用户的无源器件. 2.分支器的电气性能:1)插入损失:2)分支损失 ...

  8. java反序列化漏洞修复方案,看完必懂

    数据库 1. MySQL 索引使用有哪些注意事项呢? 可以从三个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景,索引规则 索引哪些情况会失效 查询条件包含or,可能导致索引失效 如何字段类型 ...

  9. JAVA 获取微信用户信息,看完这篇你必须得学会

    很多IT搬砖员,磕磕碰碰,都比较生怕遇到自己未接触过的东西,但是作为开发,迟早有一天,某个领导跟你说,某个需求,需要接入微信公众号,需要获取微信用户信息. 虽然说微信提供了相关的文档,但是免不了还是很 ...

最新文章

  1. formValidator BUG
  2. python练手小游戏_Python小游戏练手EMS员工项目自学者练习
  3. [Gradle] 在 Eclipse 下利用 gradle 构建系统
  4. 西京学院计算机科学与技术专业怎么样,西京学院有哪些专业及什么专业好
  5. (转)浅析CSS——元素重叠及position定位的z-index顺序
  6. 解决css firefox火狐浏览器IE浏览器下的兼容性问题
  7. mac安装需要的骚操作
  8. php跳过代码,PHP利用continue实现跳过本次循环中剩余代码的注意点
  9. 插件代码_我们开源了一款 SonarQube iOS 代码扫描插件
  10. 赣州师范高等专科学校计算机网络技术,赣州师范高等专科学校2021年招生简章...
  11. JSF,Servlet和JSP有什么区别?
  12. matlab2c使用c++实现matlab函数系列教程-unifstat函数
  13. postgis之获取二进制的长度
  14. 常用的渗透测试辅助工具
  15. 发那科机器人六轴放大器保险丝熔断_太仓FANUC发那科机器人免费测试维修{苏州罗韦维修芯片级维修机器人}...
  16. 手把手教你protel 99se 入门
  17. 国产CPU 申威1621 异数OS基础组件理论性能测试报告
  18. ArcGis利用栅格处理工具进行影像裁剪
  19. 【工作感想】 关于前后端分离的问题
  20. 附加SQL Server MDF文件的不同方法

热门文章

  1. 科研与爱情选谁?中科院教授教你平衡!
  2. 数据分析师必看:5大概率分布,你了解多少?
  3. VMware中Ubuntu系统不全屏问题
  4. golang的临时对象池sync.Pool
  5. 什么是蠕虫,木马以及二者跟病毒是什么关系!
  6. 网络工程师中级2018 2019 2004-2017年真题+答案【结构介绍】
  7. ACMNO.39 分解质因数 求出区间[a,b]中所有整数的质因数分解。蓝桥杯训练!
  8. 第一次写KMP的体会
  9. 调查:中国内地受访者每年花约40天用于各种“等”
  10. vue-cli3 第三版安装搭建项目