ITPub博客

首页 > IT职业 > IT图书 > Java入门第二季6.1问题编码Plus版

Java入门第二季6.1问题编码Plus版

IT图书 作者:bigstarr 时间:2021-09-09 09:00:51 0 删除 编辑

利用异常的相关知识对原租车代码进行了改进,现在可以处理各种异常状态,直到输入正确的结果。
入口程序没有进行大的修改,只是做了处理,将一些内容移植到别的地方,使这一部分的内容更加简洁

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;i5)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

车类没有进行修改,还是之前的内容

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+"吨";
    }
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3330/viewspace-2807674/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    83
  • 访问量
    1109