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

花了一个小时做好了

父类
package com.liuxiaodao;
public class Vehicle {	
public int carNumber;//车序列	
public String carName; //车名字	
public int rent;//租金	
public int personCapacity;//载客量	
public double freightVolume;//载货量
public String getCarName() {		
return carName;	}	
public void setCarName(String carName) {		
this.carName = carName;	}	
public int getRent() {		
return rent;	}	
public void setRent(int rent) {		
this.rent = rent;	}	
public int getCarNumber() {		
return carNumber;	}	
public void setCarNumber(int carNumber) {		
this.carNumber = carNumber;	}	
public int getPersonCapacity() {		
return personCapacity;	}	
public void setPersonCapacity(int personCapacity) {		
this.personCapacity = personCapacity;	}	
public double getFreightVolume() {		
return freightVolume;	}	
public void setFreightVolume(double freightVolume) {		
this.freightVolume = freightVolume;	}	
public void show() {		
// TODO Auto-generated method stub			}	
}

Passengercar类
package com.liuxiaodao;
public class Passengercar extends Vehicle {	
public Passengercar(int carNumber,String carName,int rent,int personCapacity) {		
this.setCarNumber(carNumber);		
this.setCarName(carName);		
this.setRent(rent);		
this.setPersonCapacity(personCapacity);	}		
public void show() {		
System.out.println( " "+carNumber + "\t"+carName +"\t" + rent +"一天" + "\t\t载客量" + personCapacity+"人");	}
}

 Pika类
public class Pika extends Vehicle{	
public Pika(int carNumber,String carName,int rent,int personCapacity,double freightVolume) {		
this.setCarName(carName);		
this.setCarNumber(carNumber);		
this.setRent(rent);		
this.setPersonCapacity(personCapacity);		
this.setFreightVolume(freightVolume);}	
public void show() {		
System.out.println(" "+carNumber + "\t"+carName +"\t" + rent + "一天" + "\t\t载客量" + personCapacity+ "人"+ "载货量" +freightVolume+"吨");	}}


Truck类

public class Truck extends Vehicle {

public Truck(int carNumber,String carName,int rent,double freightVolume) {

this.setCarName(carName);

this.setCarNumber(carNumber);

this.setRent(rent);

this.setFreightVolume(freightVolume);

}

public void show() {

System.out.println(" "+carNumber +"\t"+ carName +"\t" + rent +"一天" + "\t\t载货量" + freightVolume+"吨");

}

}

Text类

public class Text {


public static void main(String[] args) {

// TODO Auto-generated method stub

Vehicle a = new Passengercar(1,"奥迪A4",500,4);

Vehicle b = new Passengercar(2,"宝马3系",400,4);

Vehicle c = new Pika(3,"皮卡雪6",450,4,2);

Vehicle d = new Passengercar(4,"金龙",800,20);

Vehicle e = new Truck(5,"松花江",400,4);

Vehicle f = new Truck(6,"依维柯",1000,20);

Vehicle vehicle[] = {a,b,c,d,e,f,};

System.out.println("欢迎使用小叨租车系统:");

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

Scanner input = new Scanner(System.in);//使用Scanner来实现用户输入

int in =input.nextInt();

if(in == 1) {

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

System.out.println("编 号"+"\t  类 型"+"\t日租金/天"+"\t\t容量");

a.show();

b.show();

c.show();

d.show();

e.show();

f.show();

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

Scanner input2 = new Scanner(System.in);

int num = input2.nextInt();

System.out.println("请输入您要借租的天数");

Scanner input3 = new Scanner(System.in);

int day =input3.nextInt();

for(int i =0;i<num;i++) {

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

Scanner input4 = new Scanner(System.in);

int xuhao = input4.nextInt();

vehicle[i] =vehicle[xuhao-1];

}

System.out.println("统计完成\n您的账单如下:");

System.out.println("可以载人的有:");

for(int n=0;n<num;n++) {

if(vehicle[n].personCapacity != 0) {

System.out.println(vehicle[n].carName);

}

}

System.out.println("可以载货的有:");

for(int m=0;m<num;m++) {

if(vehicle[m].freightVolume !=0) {

System.out.println(vehicle[m].carName);

}

}

//统计账单金额数目

int sumPerson = 0;

double sumFreight = 0;

double sumRent = 0;

for(int x=0;x<num;x++) {

sumPerson =vehicle[x].personCapacity+sumPerson;

sumFreight = vehicle[x].freightVolume+sumFreight;

sumRent = vehicle[x].rent+sumRent;

}

System.out.println("总载客量:"+sumPerson);

System.out.println("总载货量:"+sumFreight);

System.out.println("总价格:"+sumRent*day);

}else if(in == 0) {

System.out.println("再见,欢迎您下次使用!");

}

}


}

https://img1.sycdn.imooc.com//5c7b96620001771505860663.jpg

正在回答

8 回答

vehicle[i] =vehicle[xuhao-1];

这段是错,会覆盖掉原有保存的汽车数据

应该再创建一个数组

all[] cars = new all[num];

然后在下面把vehicle[i] =vehicle[xuhao-1];替换成cars[i] = all[xuhao-1];

才没有问题

0 回复 有任何疑惑可以回复我~

你并不需要每次都去new一个Scanner对象,就用第一次实例化的哪个对象给变量赋值就可以了。如:

int a =input.nextInt();

int b=input.nextInt();

等等都是可以的。

1 回复 有任何疑惑可以回复我~
#1

只想敲个代码 提问者

嗯 是的
2019-03-26 回复 有任何疑惑可以回复我~

父类无需get/setter方法也可完成,没有私有变量

0 回复 有任何疑惑可以回复我~

这个输入的序号超过数组长度不行啊 会报错

0 回复 有任何疑惑可以回复我~

vehicle[i] =vehicle[xuhao-1];

这样真的没有问题吗?

0 回复 有任何疑惑可以回复我~

请问大神,你完成这个项目的思路是怎样的,是和老师说的一样吗?如果不是你的思路是怎样的?请指教。我想不到这么多代码,写着写着就乱了

0 回复 有任何疑惑可以回复我~

public Passengercar(int carNumber,String carName,int rent,int personCapacity) {      

this.setCarNumber(carNumber);      

this.setCarName(carName);      

this.setRent(rent);    

this.setPersonCapacity(personCapacity); } 

兄弟,这个是重载吗?还是啥,以前的课有讲吗

0 回复 有任何疑惑可以回复我~
#1

只想敲个代码 提问者

这和this.CarNumber = carNumber 的效果是一样的,只是写法不同 直接赋值也可以,看个人习惯
2019-03-05 回复 有任何疑惑可以回复我~

tqltql。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

花了一个小时做好了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信