为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA第二季最后大作业

标签:
Java

此设计代码参考了部分同学的设计代码,实现全部功能,但还是存在以下问题:
1,用户在租车数量处没有按照提示,输入错误时,只能返回一次,即多输入几次错误,程序会出问题。
2,用户在租车类型处没有按照提示,输入错误时,未设计返回重新输入的代码。
3,此代码感觉冗长。

此为主程序ZucheSystem代码:

package Car;
import java.util.Scanner;
public class ZucheSystem {
    public static void printInfo(Cardisplay[] cars){
        for(int i =0;i<cars.length;i++){
        System.out.print((i+1)+".\t");
        cars[i].Fangfa();
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /*此段代码为初始化车的类型*/
        Cardisplay[] cars={new Jiaoche("奥迪",500,4,0),new Jiaoche("马自达",400,4,0),new Liangyongche("皮卡",450,4,2),new Keche("厦门金龙",800,20,0),new Huoche("解放牌",400,3,4),new Huoche("一汽",1000,3,20)};
        /*此中间段代码为判断用户是否租车*/
        System.out.println("欢迎您使用哒哒租车系统:\n请您按照系统提示输入:\n输入    1 表示您要租车,输入    0 表示您不租车");
        System.out.println("请问您是否要租车:\n");
        Scanner reader=new Scanner(System.in);
        while(true){
            String input = reader.next();
            if(input.equals("1")){
                System.out.println("序号\t汽车名称\t\t租金\t\t容量");
                printInfo(cars);
                /*此中间段代码为判断用户是否租车*/
                /*此中间段代码为判断用户租车数量*/
                System.out.println("由于本公司规模有限,每一辆类型的车,个人最多租售10辆,个人总租售量最多为60辆,谢谢合作");
                System.out.println("请输入您要租汽车的总数量:");
                while(true){
                  int num=reader.nextInt();
                  if(num>0&&num<=60){
                      System.out.println("请在以下车型中选择您要租售的车型型号总数");
                      /*此中间段程序为选择祖泽的类型总数*/
                      System.out.println("序号1:奥迪,序号2:马自达,序号3:皮卡,序号4:厦门金龙,序号5:解放牌,序号6:一汽");
                      while(true){
                          int num1=reader.nextInt();
                          if(num1>=1&&num1<=6){
                              int cheliangleixing[];
                              cheliangleixing=new int[6];
                              /*判断各种类型车的数量*/
                              System.out.println("请在以下车型中输入您需要的数量");
                              System.out.println("序号1:奥迪,序号2:马自达,序号3:皮卡,序号4:厦门金龙,序号5:解放牌,序号6:一汽");
                              for(int i=1;i<=6;i++){
                                 if(i==1){ System.out.println("序号1:奥迪");
                                 int num2=reader.nextInt();
                                 if(num2<=10){
                                 cheliangleixing[0]=num2;}else{
                                     System.out.println("个人租单个类型的清澈最多不超过10辆,请您重新输入");
                                     int num3=reader.nextInt();
                                     cheliangleixing[0]=num3;
                                 }
                                 }
                                 else if(i==2){ System.out.println("序号2:马自达");
                                 int num2=reader.nextInt();
                                 if(num2<=10){
                                 cheliangleixing[1]=num2;}else{
                                     System.out.println("个人租单个类型的清澈最多不超过10辆,请您重新输入");
                                     int num3=reader.nextInt();
                                     cheliangleixing[1]=num3; 
                                 }
                                 }
                                 else if(i==3){ System.out.println("序号3:皮卡");
                                 int num2=reader.nextInt();
                                 if(num2<=10){
                                 cheliangleixing[2]=num2;}else{
                                     System.out.println("个人租单个类型的清澈最多不超过10辆,请您重新输入");
                                     int num3=reader.nextInt();
                                     cheliangleixing[2]=num3;
                                 }
                                 }
                                 else if(i==4){ System.out.println("序号4:厦门金龙"); 
                                 int num2=reader.nextInt();
                                 if(num2<=10){
                                 cheliangleixing[3]=num2;}else{
                                     System.out.println("个人租单个类型的清澈最多不超过10辆,请您重新输入");
                                     int num3=reader.nextInt();
                                     cheliangleixing[3]=num3;
                                 }
                                 }
                                 else if(i==5){ System.out.println("序号5:解放牌"); 
                                 int num2=reader.nextInt();
                                 if(num2<=10){
                                 cheliangleixing[4]=num2;}else{
                                     System.out.println("个人租单个类型的清澈最多不超过10辆,请您重新输入");
                                     int num3=reader.nextInt();
                                     cheliangleixing[4]=num3;
                                 }
                                 }
                                 else if(i==6){ System.out.println("序号6:一汽"); 
                                 int num2=reader.nextInt();
                                 if(num2<=10){
                                 cheliangleixing[5]=num2;}else{
                                     System.out.println("个人租单个类型的清澈最多不超过10辆,请您重新输入");
                                     int num3=reader.nextInt();
                                     cheliangleixing[5]=num3;
                                 }
                                 }else{
                                     System.out.println("您输入的序号有误请重新输入");
                                 }   
                              }
                                     int sum;
                                     int A=cheliangleixing[0];
                                     int B=cheliangleixing[1];
                                     int C=cheliangleixing[2];
                                     int D=cheliangleixing[3];
                                     int E=cheliangleixing[4];
                                     int F=cheliangleixing[5];
                                     sum=A+B+C+D+E+F;
                                     if(sum!=num){
                                         System.out.println("请注意,您需要的清澈总数与您之前输入的不符合,我们以这次输入为准");
                                         System.out.println("您需要租赁的汽车总数为"+sum+"辆,"+"序号1:奥迪"+A+"辆,"+"序号2:马自达"+B+"辆,"+"序号3:皮卡"+C+"辆,"+"序号4:厦门金龙"+D+"辆,"+"序号5:解放牌"+E+"辆,"+"序号6:一汽"+F+"辆");}else{
                                     System.out.println("您需要租赁的汽车总数为"+sum+"辆");}
                                     /*租赁汽车类型和数量*/
                                     /*费用的计算*/
                                     System.out.println("请您输入您需要租用的天数");
                                     int num4=reader.nextInt();
                                     int tianshu=num4;
                                     System.out.println("您此次需要租用的天数为"+num4);
                                     int qian=500*A*tianshu+400*B*tianshu+450*C*tianshu+800*D*tianshu+400*E*tianshu+1000*F*tianshu;
                                     System.out.println("您需要支付的金额为"+qian+"元");
                                     System.out.println("您此次租车的清单如下:");
                                     System.out.println("您需要租用的汽车总数为"+sum+"辆,"+"您此次租用的汽车类型为序号1:奥迪"+A+"辆,"+"序号2:马自达"+B+"辆,"+"序号3:皮卡"+C+"辆,"+"序号4:厦门金龙"+D+"辆,"+"序号5:解放牌"+E+"辆,"+"序号6:一汽"+F+"辆,"+"您此次需要租用的天数为"+num4+"天,"+"您此次需要支付的金额为"+qian+"元");

                          }else{
                              System.out.println("对不起,您输入的总数应该是小于或者等于我们已有车辆类型的总数,请重新输入");
                          }

                      }
                  }
                  /*此中间段程序为选择租车的类型总数*/
                  else{
                      System.out.println("对不起,您租车的数量最多为60辆,最少为1辆,请重新输入");         
                  }
              }

            /*此中间段代码为判断用户租车数量*/
            /*此中间段代码为判断用户是否租车*/
                }
            else if(input.equals("0")){
                    System.out.println("虽然您不租车,但还是谢谢您的使用");
                }
            else{
                    System.out.println("对不起,您的输入有误,请重新输入数字0或者1");
                }
            /*此中间段代码为判断用户是否租车*/
        }

    }

}

此为各个分类代码:
Cardisplay类:

package Car;

public abstract class Cardisplay {
       String name;
       int price;
       int zairenliang;
       int zaihuoliang;
       Cardisplay[] cars={};
       public abstract void Fangfa();
}

Huoche类

package Car;

public class Huoche extends Cardisplay {
    int zaihuoliang;
    public Huoche(String name,int price,int zairenliang,int zaihuoliang){
        this.name=name;
        this.price=price;
        this.zairenliang=zairenliang;
        this.zaihuoliang=zaihuoliang;
    }
    @Override
    public void Fangfa() {
        // TODO Auto-generated method stub
        System.out.println(name+"\t\t"+price+"元/天\t\t载人:"+zairenliang+"人\t"+" 载货:"+zaihuoliang+"吨");
    }

}

Jiaoche类

package Car;

public class Jiaoche extends Cardisplay {
    int zairenliang;
    public Jiaoche(String name,int price, int zairenliang,int zaihuoliang){
        this.name=name;
        this.price=price;
        this.zairenliang=zairenliang;
        this.zaihuoliang=zaihuoliang;
        }
    @Override
    public void Fangfa() {
        // TODO Auto-generated method stub
        System.out.println(name+"\t\t"+price+"元/天\t\t载人:"+zairenliang+"人\t"+" 载货:"+zaihuoliang+"吨");
    }

}

Keche类

package Car;

public class Keche extends Cardisplay {
    int zairenliang;
    public Keche(String name,int price,int zairenliang,int zaihuoliang){
        this.name=name;
        this.price=price;
        this.zairenliang=zairenliang;
        this.zaihuoliang=zaihuoliang;
        }
    @Override
    public void Fangfa() {
        // TODO Auto-generated method stub
        System.out.println(name+"\t\t"+price+"元/天\t\t载人:"+zairenliang+"人\t"+" 载货:"+zaihuoliang+"吨");
    }

}

Liangyongche类

package Car;

public class Liangyongche extends Cardisplay {
    int zairenliang;
    int zaihuoliang;
    public Liangyongche(String name,int price,int zairenliang,int zaihuoliang){
        this.name=name;
        this.price=price;
        this.zairenliang=zairenliang;
        this.zaihuoliang=zaihuoliang;
        }
    @Override
    public void Fangfa() {
        // TODO Auto-generated method stub
        System.out.println(name+"\t\t"+price+"元/天\t\t载人:"+zairenliang+"人\t"+" 载货:"+zaihuoliang+"吨");
    }

}
点击查看更多内容
8人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消