java 6的代号是,Java入门第二季6.1问题编码Plus版
利用异常的相关知识对原租车代码进行了改进,现在可以处理各种异常状态,直到输入正确的结果。
入口程序没有进行大的修改,只是做了处理,将一些内容移植到别的地方,使这一部分的内容更加简洁
import java.util.Scanner;
public class TestRentPlus
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("欢迎使用答答租车系统:");
System.out.println("您是否要租车:1是 0否");
if(in.nextInt()==1){
CarRent cr=new CarRent();
cr.initial();
cr.showCar();
cr.rentCar();
}
System.out.println("谢谢使用!");
}
}
下边是租车系统,在这里添加了异常的抛出与捕获,将整个系统更加细化,这样出现错误只会回到这一小块出错之前,比如:输入第二辆车的编号出错,则只会要求重新输入第二辆车的ID
另外一些需要经常使用的内容,我把他们转换为了类的属性,这样不用总是进行新建、传递
class CarRent
{
private int num;
private int id;
private int day;
private int[] nums=new int[6];
private Scanner in=new Scanner(System.in);
private Car[] car=new Car[6];
void initial(){
car[0]=new SeatCar(1,"奥迪A4",500,4);
car[1]=new SeatCar(2,"马自达6",400,4);
car[2]=new Car(3,"皮卡雪6",450,4,2);
car[3]=new SeatCar(4,"金龙",800,20);
car[4]=new LoadCar(5,"松花江",400,4);
car[5]=new LoadCar(6,"依维柯",1000,20);
}
void showCar(){
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号\t汽车名称\t租金\t容量");
for(Car c:car)
System.out.println(c);
}
void seatCar(){
int tseat=0;
System.out.println("***可载人的车有:");
for(int i=0;i
if(car[nums[i]].seat==0)continue;
System.out.print(car[nums[i]].name+"\t");
tseat+=car[nums[i]].seat;
}
System.out.println("共载人:"+tseat+"人");
}
void loadCar(){
int tload=0;
System.out.println("***可载货的车有:");
for(int i=0;i
if(car[nums[i]].load==0)continue;
System.out.print(car[nums[i]].name+"\t");
tload+=car[nums[i]].load;
}
System.out.println("共载货:"+tload+"吨");
}
void getMoney(){
int money=0;
for(int i=0;i
money+=car[nums[i]].price;
}
System.out.println("***租车总价格:"+(money*day)+"元");
}
void getNum(){
System.out.println("请输入您要租汽车的数量:");
try{
num=in.nextInt();
if(num<1)throw new Exception();
}catch(Exception e){
System.out.println("请输入大于0的数字");
in=new Scanner(System.in);
getNum();
}
}
void getId(int i){
System.out.println("请输入第"+(i+1)+"辆车的序号:");
try{
id=in.nextInt()-1;
if(id <0||id>5)throw new Exception();
}catch(Exception e){
System.out.println("请输入1~6之间的数字");
in=new Scanner(System.in);
getId(i);
}
}
void getDay(){
System.out.println("请输入租车天数:");
try{
day=in.nextInt();
if(day<1)throw new Exception();
}catch(Exception e){
System.out.println("请输入大于0的数字");
in=new Scanner(System.in);
getDay();
}
}
void rentCar(){
getNum();
for(int i=0;i
getId(i);
nums[i]=id;
}
getDay();
System.out.println("您的帐单:");
seatCar();
loadCar();
getMoney();
}
}
车类没有进行修改,还是之前的内容
class Car
{
public int id;
public int seat;
public int load;
public int price;
public String name;
Car(int id, String name, int price, int seat, int load){
this.id=id;
this.seat=seat;
this.load=load;
this.price=price;
this.name=name;
}
public String toString(){
return id+".\t"+name+"\t"+price+"元/天\t载人:"
+seat+"人 载货:"+load+"吨";
}
}
class SeatCar extends Car
{
SeatCar(int id, String name, int price, int seat){
super(id, name, price, seat, 0);
}
public String toString(){
return id+".\t"+name+"\t"+price+"元/天\t载人:"
+seat+"人";
}
}
class LoadCar extends Car
{
LoadCar(int id, String name, int price, int load){
super(id, name, price, 0, load);
}
public String toString(){
return id+".\t"+name+"\t"+price+"元/天\t载货:"
+load+"吨";
}
}
java 6的代号是,Java入门第二季6.1问题编码Plus版相关推荐
- java二嗨租车项目_Java入门第二季6-1租车项目代码
一共有5个类 Car类 //作为父类 package com.imooc; public class Car { public int ID; public String name; public i ...
- JAVA入门第二季 第一章 类和对象
面向对象编程 Object Oriented Programming OOP 第一.什么是类和对象 在具体说明类和对象之前,先说说别的. 眼睛在人类身体上最为有用的器官.如果一个没有了眼睛,这个人与世 ...
- java集合租车_Java入门第二季 租车系统
二.代码实现: (1)基础版(控制台调试): car类: package com.xiaoyao.car; import java.util.List; public class Car{ priva ...
- java入门就是死敲代码吗_JAVA入门第二季综合练习(直接思考敲的代码,面向过程,不好)...
package com.imocc; /* @author ndh 2016年3月27日 21:03:02 */ import java.util.Scanner; public class DiDi ...
- java 入门 第二季3
1.继承 1.java是单继承的,一个子类只有一个父类 父类,基类 子类,派生类 2.继承的好处:子类拥有父类的所有属性和方法,属性的修饰符不能是private 3.语法规则: class 子类 ex ...
- java二嗨租车项目_Java入门第二季第六章项目实战(租车系统)
新手,望指教. package test; public class CarInfo { private int pNum; private String type; private String n ...
- java入门第二季--面向对象实现人类说话,中国人说汉语,美国人说英语
人类说话,中国人说汉语,美国人说英语 继承实现 /javaDemo6/src/com/imooc/Person.java package com.imooc;public class Person { ...
- 慕课网-Java入门第二季实战练习-答答租车系统下载
更具所学知识,编写一个控制台版的"答答租车系统" 功能: 1.展示所有可租车辆 2.选择车型.租车量 3.展示租车清单,包含:总金额.总载货量及其车型.总载人量及其车型 代码下载地 ...
- Java面向对像小项目 慕课网Java入门第二季滴滴租车系统
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- java二嗨租车项目_Java入门第二季6-1租车项目
1.Car类 package imooc; public class Car { public int ID; public String nameString; public int rent; p ...
最新文章
- linux shell 数组元素带空格,在bash中解析带有空格的JSON数组
- 开发日记-20190709 关键词 读书笔记 《Perl语言入门》Day 6
- 杭州成都场「PPT 下载」新鲜出炉 | 神策 2019 数据驱动大会
- c++动态内存的几个简单例子
- C# 读取文件内容/输出txt log
- macbook数据线连接手机_MacBook可以为iPhone进行快充吗?用MacBook为iPhone充电好不好?...
- localStorage sessionStorage 和cookie等前端存储方式总结
- 看咒语,知情节?他们用《哈利·波特》让AI学习剧透
- 常用JS验证函数总结
- VC开发数据库基础之ADO篇
- PHP统计订单表,订单售后表金额
- PCB设计中的3W原则
- StataIC——线性回归计算个股的β值
- 初探BP神经网络工具箱
- close函数 qt_QT中的close、closeEvent和析构函数的理解(基础知识)
- SkyWalking8.4监控跨线程问题解决
- 2022年全球与中国环己胺市场现状及未来发展趋势
- 天道不一定酬勤,深度思考比勤奋工作更重要
- 第二课、《抓包学习——美团评论》
- PRML读书会第七章 Sparse Kernel Machines(支持向量机, support vector machine ,KKT条件,RVM)...