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

这是我写的“嗒嗒租车系统”,欢迎大神来指导交流

这是我写的“嗒嗒租车系统”,欢迎大神来指导交流

寂Mo聆听 2016-03-01 17:55:45
我有个问题,就是MennedCar  RentCar  OverallCar 3个类中double menned改为和Car类一样类型int menned,运行主函数到车辆信息就会出现输出Null,怎么回事。package test2.DadaRentCar;/*根据所学知识,编写一个控制台版的“嗒嗒租车系统” * 功能: * 1、展示所有可租车辆 * 2、选择车型、组车辆 * 展示租车清单,包含:总金额、总载量及其车型、总载人量及其车型 *  * 参考: * 欢迎使用嗒嗒租车系统: * 您是否要租车:1是   0否 * 1 * 您可租车的类型及其价目表: * 序号    汽车名称    租金                  容量 * 1.  奥迪A4  500/天          载人:4人 * 2.  马自达6  400/天         载人:4人 * 3.  金龙             800/天         载人:20人 * 4.  松花江         400/天         载货:4吨 * 5.  依维柯         1000/天      载货:20吨 * 6.  皮卡雪6  450/天         载人:4人  载货:2吨 * 请输入您要租汽车的数量: * 4 * 请输入第一辆车的序号: * 1 * 请输入第二辆车的序号: * 2 * 请输入第三辆车的序号: * 3 * 请输入第四辆车的序号: * 4 * 请输入租车天数: * 3 * ***租车信息: * 奥迪A4  马自达6   金龙      松花江 * 共可载人树:28人 * 共可载货重:4.0吨 * ***租车总价格: * 6300.0元 */import java.util.*;public class RentCar {public static void main(String[] args) {  //创建三种车型对象    Car car1=new MennedCar();    Car car2=new MennedCar();    Car car3=new MennedCar();    Car car4=new LoadCar();    Car car5=new LoadCar();    Car car6=new OverallCar();   Scanner input=new Scanner(System.in);//创建Scanner对象 System.out.println("欢迎使用嗒嗒租车系统:"+ "\n"+"您是否要租车:1是   0否"); int write=input.nextInt();//获取用户输入信息并保存 if(write==1){System.out.println("您可租车的类型及其价目表:"+"\n"+"序号    汽车名称       租金              载人量       载物量");  //调用载人型车型信息  car1.carPro(1,"奥迪A4",500,4,0);   car2.carPro(2,"马自达6",400,4,0);  car3.carPro(3,"金龙            ",800,20,0);     //调用载货型车辆信息  car4.carPro(4,"松花江        ",400,0,4 );  car5.carPro(5,"依维柯        ",1000,0,20 );  //调用载人载货型车辆信息     car6.carPro(6,"皮卡雪        ",450,4,2);    System.out.println("请输入您要租汽车的数量:(限租20量)");  int amount=input.nextInt();//获取用户输入租车数量信息并保存  if(amount<=20){   int []putnum=new int[20];   int i=1;  for(;i<=amount;i++){System.out.println("请输入第"+i+"辆车的序号:");   putnum[i-1]=input.nextInt();//获取用户输入车辆序号信息并保存   //根据输入序号输出对应车型   if(putnum[i-1]==1){System.out.println(car1.name);}   else if(putnum[i-1]==2){System.out.println(car2.name);}   else if(putnum[i-1]==3){System.out.println(car3.name);}   else if(putnum[i-1]==4){System.out.println(car4.name);}   else if(putnum[i-1]==5){System.out.println(car5.name);}   else if(putnum[i-1]==6){System.out.println(car6.name);}   else{System.out.println("你输入的序号有误!");}  }  System.out.println("请输入租车天数:");  int days=input.nextInt();//获取用户输入租车天数并保存  System.out.println("***租车信息:");  //循环输出租车信息        for(int j=0;j<amount;j++){if(putnum[j]==1){System.out.println(car1.name);}        else if(putnum[j]==2){System.out.println(car2.name);}   else if(putnum[j]==3){System.out.println(car3.name);}   else if(putnum[j]==4){System.out.println(car4.name);}   else if(putnum[j]==5){System.out.println(car5.name);}   else if(putnum[j]==6){System.out.println(car6.name);}       }        //计算所租车辆总载人数        int[] people=new int[20];int People=0;  for(int j=0;j<amount;j++){if(putnum[j]==1){people[j]=car1.menned;}        else if(putnum[j]==2){people[j]=car2.menned;}   else if(putnum[j]==3){people[j]=car3.menned;}   else if(putnum[j]==4){people[j]=car4.menned;}   else if(putnum[j]==5){people[j]=car5.menned;}   else if(putnum[j]==6){people[j]=car6.menned;}  People=People+people[j];   }  System.out.println("共可载人数:"+People+"人");  //计算所租车辆总载物重  double[] goods=new double[20];double Goods=0;  for(int j=0;j<amount;j++){if(putnum[j]==1){goods[j]=car1.load;}        else if(putnum[j]==2){goods[j]=car2.load;}   else if(putnum[j]==3){goods[j]=car3.load;}   else if(putnum[j]==4){goods[j]=car4.load;}   else if(putnum[j]==5){goods[j]=car5.load;}   else if(putnum[j]==6){goods[j]=car6.load;}  Goods=Goods+goods[j];   }  System.out.println("共可载货重:"+Goods+"吨");  //计算所租车辆总费用     double[] monney=new double[20];double Monney=0;  for(int j=0;j<amount;j++){if(putnum[j]==1){monney[j]=car1.rent;}        else if(putnum[j]==2){monney[j]=car2.rent;}   else if(putnum[j]==3){monney[j]=car3.rent;}   else if(putnum[j]==4){monney[j]=car4.rent;}   else if(putnum[j]==5){monney[j]=car5.rent;}   else if(putnum[j]==6){monney[j]=car6.rent;}  Monney=Monney+monney[j];   }  Monney=Monney*days;  System.out.println("***租车总价格:");  System.out.println(Monney+"元");}else{   System.out.println("您输入的租车数量不符合要求!");  } }else{System.out.println("欢迎下次光临!");}}} package test2.DadaRentCar;public class Car {   public String name;     public double rent;     public int menned;     public double load;     public int num;          public void carPro(int num,String name,double rent,int menned,double load){     this.name=name;     this.rent=rent;     this.menned=menned;     this.load=load;     this.num=num; System.out.println(  num+"   "+name+"   "+rent+"/天        "+menned+"人         "+load+" 吨   "); } }package test2.DadaRentCar;public class MennedCar extends Car { public void carPro(int num ,String name,double rent,double menned,double load){   } }package test2.DadaRentCar;public class LoadCar extends Car { public void carPro(int num, String name,double rent,double menned,double load){   }}package test2.DadaRentCar;public class OverallCar extends Car { public void carPro(int num,String name,double rent, double menned,double load){   }}
查看完整描述

2 回答

已采纳
?
一条小咸鱼

TA贡献457条经验 获得超255个赞

  1. 用数组管理所有车的对象更好

  2. 子类和父类都相同了,为什么还要创建子类。建议重新设计继承结构,父类值只有共有的属性,子类有自己独有的属性

查看完整回答
7 反对 回复 2016-03-02
?
GlenOrchyGle

TA贡献1条经验 获得超1个赞

感觉有点复杂,还可以优化代码

查看完整回答
1 反对 回复 2016-03-11
  • 2 回答
  • 2 关注
  • 2931 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信