租车系统,小白一个,,过程有点乱,望高手们指点指点。

来源:12-1 综合练习

rock_h

2014-12-10 11:26

import java.util.Scanner;

public class Car 

{

Scanner in=new Scanner(System.in);

int q,b,d,l,a,o,k,cs=0,p=0;//cs表示载人的累加值。p表示可载货车辆的累加值。

double s,count=0,ds=0;//count表示租金的累加值。ds表示吨位的累加值。

public Ddffdsf(int newA)  //构造方法初始化a值

  {

a=newA;

 }

 public void cl()

 {

if(a==1)  //当a为1时输出以下表格并调用本类中的cc方法

  {     

System.out.println("您可租车的类型及其价目表:");

System.out.println("序号      汽车名称               租金                           容量");

   System.out.println(" 1     奥迪A8     10000元/天            载人:2人");

   System.out.println(" 2     兰博基尼        12220元/天            载人:2人");

   System.out.println(" 3     奔驰S600    9000元/天            载人:5人");

   System.out.println(" 4     宝马M8      9999元/天            载人:4人");

   System.out.println(" 5     皮卡                  888元/天               载人:4人   可载货:2吨");

   System.out.println(" 6     林肯加长        22222元/天            载人:12人");

   System.out.println(" 7     法拉利            77777元/天            载人: 2人");

   System.out.println(" 8     一汽卡车           777元/天             载人: 2人  可载货:10吨");

   cc();

  }

else    //当输入的数不是1时,输出"欢迎下次光临!"。

  {

System.out.println("欢迎下次光临!");

           }

 }

  public void cc()

      {

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

        b=in.nextInt();       //读取一个整数

     if(b>0)              //b如果大于0

         {

    this.b=b;         //把读取的b赋值给this.b

    for(int i=0;i<b;i++)     //使用for循环让用户输入要选择车辆的序号

  {

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

        q=in.nextInt();   //读取用户输入的序号

 if(q<=0|q>8)      //如果用户输入的序号不在系统规定的范围内,则运行大括号里面的代码

    {  

        while(q<=0|q>8)   //则使用while循环 以提示用户重新输入,只有重新输入的序号在规定的范围内,循环才会结束。

                              //这样避免输入错误后又要重新运行系统

        {                  

        System.out.println("您输入的序号错误,请重新输入。");

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

           q=in.nextInt();  

        }                    //如果重新输入的序号在规定的范围内,则系统会进行判断,进行配对和运算

        if(q==1){d=2;s=10000;count=count+s;cs=cs+d;}

        if(q==2){d=2;s=12220;count=count+s;cs=cs+d;}

        if(q==3){d=5;s=9000;count=count+s;cs=cs+d;}

        if(q==4){d=4;s=9999;count=count+s;cs=cs+d;} 

        if(q==5){d=4;k=2;s=888;count=count+s;cs=cs+d;ds=ds+k;p++;} 

        if(q==6){d=12;s=22222;count=count+s;cs=cs+d;} 

        if(q==7){d=2;s=77777;count=count+s;cs=cs+d;}

        if(q==8){d=2;k=10;s=777;count=count+s;cs=cs+d;ds=ds+k;p++;}

             } 

        else                 //如果用户输入序号在系统规定的范围内,则运行大括号里面的代码,进行累加运算

                {

        if(q==1){d=2;s=10000;count=count+s;cs=cs+d;}

        if(q==2){d=2;s=12220;count=count+s;cs=cs+d;}

        if(q==3){d=5;s=9000;count=count+s;cs=cs+d;}

        if(q==4){d=4;s=9999;count=count+s;cs=cs+d;} 

        if(q==5){d=4;k=2;s=888;count=count+s;cs=cs+d;ds=ds+k;p++;} 

        if(q==6){d=12;s=22222;count=count+s;cs=cs+d;} 

        if(q==7){d=2;s=77777;count=count+s;cs=cs+d;}

        if(q==8){d=2;k=10;s=777;count=count+s;cs=cs+d;ds=ds+k;p++;}         

                }      

           }                 

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

           l=in.nextInt();   

           if(l>0)             //如果读取的天数大于0,则运行大括号里面的代码

    {

          this.l=l;    //将读取到的天数l赋值给this.l

        if(ds>0)      //判断吨位的累加值是否大于0,如果大于0则最终输出会带有吨位和提示可载货的车辆有多少

          {

   System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人"+"可载货的车辆有:"+p+"辆"+"   "+"其中总可载货"+ds+"吨"); 

   System.out.println("欢迎您下次光临!");

          } 

        else //如果吨位的累加值小于或等于0,则最终输出就只有总载人数和价格

   {

    System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人");

System.out.println("欢迎您下次光临!");

   }

     }

          else   //这个else代表如果用户输入租车的天数小于0,就也会进入一个while循环,提示用户重新输入租车天数。

                 //这样也可以避免到输入天数的时候,输入错误时,不会导致又要再次运行系统重新开始。

          {

          while(l<=0)

              {

          System.out.println("您输入租车天数的数据有误,请重新输入。"); 

            l=in.nextInt();

          } 

          this.l=l;  //当重新输入的租车天数不满足while循环的条件时,就会把l值赋值给this.l

          if(ds>0)   

  {

   System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人"+"可载货的车辆有:"+p+"辆"+"   "+"其中总可载货:"+ds+"吨"); 

   System.out.println("欢迎您下次光临!");

  }

          else

        {

           System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人");

       System.out.println("欢迎您下次光临!");  

        }  

          }

         }

     else      //表示如果刚开始输入的数量b小于等于0

          //再次利用while循环

      {

     while(b<=0)

     {

     System.out.println("您输入租汽车的数量数据有误,请重新输入。");

     b=in.nextInt();

     }

     this.b=b; //因为重新输入的数量b大于0,所以就得从获取序号这步继续运行下去

     for(int i=0;i<b;i++)

                   {

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

        q=in.nextInt();

        if(q<=0|q>8)   

            {  

        while(q<=0|q>8)//当重新输入的数量正确时,接下来序号输入错误,那么就用while循环提示用户修改,直到正确才执行下一步

          {

        System.out.println("您输入的序号错误,请重新输入。");

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

        q=in.nextInt();

      }

        if(q==1){d=2;s=10000;count=count+s;cs=cs+d;}

        if(q==2){d=2;s=12220;count=count+s;cs=cs+d;}

        if(q==3){d=5;s=9000;count=count+s;cs=cs+d;}

        if(q==4){d=4;s=9999;count=count+s;cs=cs+d;} 

        if(q==5){d=4;k=2;s=888;count=count+s;cs=cs+d;ds=ds+k;p++;} 

        if(q==6){d=12;s=22222;count=count+s;cs=cs+d;} 

        if(q==7){d=2;s=77777;count=count+s;cs=cs+d;}

        if(q==8){d=2;k=10;s=777;count=count+s;cs=cs+d;ds=ds+k;p++;}

            } 

        else   //重新输入数量b正确后,输入序号也在系统的范围内,则执行这一步

                {

        if(q==1){d=2;s=10000;count=count+s;cs=cs+d;}

        if(q==2){d=2;s=12220;count=count+s;cs=cs+d;}

        if(q==3){d=5;s=9000;count=count+s;cs=cs+d;}

        if(q==4){d=4;s=9999;count=count+s;cs=cs+d;} 

        if(q==5){d=4;k=2;s=888;count=count+s;cs=cs+d;ds=ds+k;p++;} 

        if(q==6){d=12;s=22222;count=count+s;cs=cs+d;} 

        if(q==7){d=2;s=77777;count=count+s;cs=cs+d;}

        if(q==8){d=2;k=10;s=777;count=count+s;cs=cs+d;ds=ds+k;p++;}

                }

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

           l=in.nextInt();

           if(l>0)//重新输入数量b正确后,输入序号也在系统的范围内,接下来的租车天数输入的值也正确,则执行这一步

              {

          this.l=l;

          if(ds>0)

          {

   System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人"+"  "+"其中可载货的车辆有:"+p+"辆"+"   "+"总可载货:"+ds+"吨"); 

   System.out.println("欢迎您下次光临!");

          }else 

             {

  System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人");

System.out.println("欢迎您下次光临!"); 

             } 

                    }

else //重新输入数量b正确后,输入序号也在系统的范围内,接下来的租车天数输入的值不正确,则执行这一步

 //利用while循环提示用户进行修改

{

   while(l<=0)

        {

System.out.println("您输入租车天数的数据有误,请重新输入。"); 

l=in.nextInt();

        } 

  this.l=l;

  if(ds>0)

       {

      System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人"+"  "+"其中可载货的车辆有:"+p+"辆"+"   "+"总可载货:"+ds+"吨");

      System.out.println("欢迎您下次光临!");

               }

  else 

          {

    System.out.println("您需支付"+count*l+"元"+"   "+"总共可载客人数为:"+cs+"人");

System.out.println("欢迎您下次光临!");

      }

  }

        }        

 }       

      }

**********************************************************

//创建第二个类,名称为Main,在main函数里调用Car中的cl方法

public class Main {

public static void main(String[] args) {

int a;

Scanner in=new Scanner(System.in);

System.out.println("欢迎光临飞腾租车!");

System.out.println("是否需要租车:1是 0否");

  a=in.nextInt();

  Car b=new Car(a);       

       b.cl();    

}

}


写回答 关注

1回答

  • qq_嫵钶取玳_0
    2015-12-29 16:44:50

    其实我也不懂。。就乱改,2个地方

     Car b= new Car();

          b.cl(a); 

    还有就是

    public void cl(int i)

     {

    if(i==1)

    不晓得是不是你想要的效果

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530560 学习 · 6091 问题

查看课程

相似问题