一道JAVA的题目求解

//定义类publicclassVehicle{privateintpassengers;//乘客数量privateintfuelcap;//油容量(单位:升)priva... //定义类

public class Vehicle {
private int passengers; // 乘客数量
private int fuelcap; // 油容量(单位:升)
private int mpg; // 载重1吨货物时每升油行驶的公里数

Vehicle(int p, int f, int m) {
passengers = p;
fuelcap = f;
mpg = m;
}

// 总行程,即总油量够行驶的总公里数
int range() {
return mpg * fuelcap;
}

//计算给定行程的耗油量
double fuelneeded(int miles) {
return miles / mpg;
}
}
 参考例子中的Vehicle类(该文件已定义好),创建一个名为Truck的卡车类
 要求该类必须继承Vehicle类,并在该类中添加卡车装载能力的实例变量即装载吨数capacity,同时为Truck类创建构造函数,要求其构造函数必须调用其父类的构造函数并为新的实例变量初始化。
 要求在Vehicle类及其子类Truck中,为所有的实例变量提供置取方法。所谓置取方法是指通过set方法为变量设置值并通过get方法获取变量的值。因此一般情况下要为类的每个属性设置set和get方法。例如某实例变量为name,则其置取方法就可以定义为setName()和getName()。
 在Truck类中,要求重写fuelneeded方法,重新计算给定距离装满货物时的耗油量。因为卡车装载货物,在载重1吨货物时每升油行驶的公里数用变量mpg表示(已由父类定义)。
 设计一个主程序TruckTest类,为卡车Truck类创建1个实例,其乘客数量为3人,油箱可装满70升油,载重1吨时每升油可行驶5公里,可装载5吨货物。计算满载行驶300公里需要多少升油?
展开
 我来答
zxshangxiu
推荐于2016-05-10
知道答主
回答量:24
采纳率:0%
帮助的人:20.6万
展开全部
我自己写的,又改了改,你看看合不合适。

1.Vehicle类
public class Vehicle {
private int passengers; // 乘客数量
private int fuelcap; // 油容量(单位:升)
private int mpg; // 载重1吨货物时每升油行驶的公里数

Vehicle(int p, int f, int m) {
passengers = p;
fuelcap = f;
mpg = m;
}

public int getPassengers() {
return passengers;
}

public void setPassengers(int passengers) {
this.passengers = passengers;
}

public int getFuelcap() {
return fuelcap;
}

public void setFuelcap(int fuelcap) {
this.fuelcap = fuelcap;
}

public int getMpg() {
return mpg;
}

public void setMpg(int mpg) {
this.mpg = mpg;
}

// 总行程,即总油量够行驶的总公里数
int range() {
return mpg * fuelcap;
}

// 计算给定行程的耗油量
double fuelneeded(int miles) {
return miles / mpg;
}

}

2.Truck类
public class Truck extends Vehicle{

private int capacity;

public int getCapacity() {
return capacity;
}

public void setCapacity(int capacity) {
this.capacity = capacity;
}

Truck(int p, int f, int m, int c) {
super(p, f, m);
this.capacity = c;
}

double fuelneeded(int miles) {
return miles / getMpg();
}

}

3.TruckTest类
public class TruckTest {
public static void main(String[] args) {
int p = 3; // 乘客数量
int f = 70; // 油容量(单位:升)
int m = 5;// 载重1吨货物时每升油行驶的公里数
int c = 5;// 卡车满载吨数
int s = 300;// 行驶
Truck t = new Truck(p, f, m, c);

double d = t.fuelneeded(s);

System.out.println("满载行驶" + s + "公里需要" + d + "升油");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小爬爬001
2009-04-27 · TA获得超过1346个赞
知道小有建树答主
回答量:1200
采纳率:0%
帮助的人:717万
展开全部
你这个属性private类型的,子类调用麻烦。晕 自己写吧 不精通哦,请高手写出来哦,我也好学习学习。 这个题目不好,那个 capacity好像没用到 没意义哦

package chen;

public class Test{
}
class Vehicle
{
private int passengers; // 乘客数量 3
private int fuelcap; // 油容量(单位:升) 70
private int mpg; // 载重1吨货物时每升油行驶的公里数 5

Vehicle(){}
Vehicle(int p, int f, int m)
{
passengers = p;
fuelcap = f;
mpg = m;
}

public int getFuelcap() {
return fuelcap;
}

public void setFuelcap(int fuelcap) {
this.fuelcap = fuelcap;
}

public int getMpg() {
return mpg;
}

public void setMpg(int mpg) {
this.mpg = mpg;
}

public int getPassengers() {
return passengers;
}

public void setPassengers(int passengers) {
this.passengers = passengers;
}

// 总行程,即总油量够行驶的总公里数
int range()
{
return mpg * fuelcap;
}

//计算给定行程的耗油量
double fuelneeded(int miles)
{
return miles / mpg;
}

}

//子类Truck
class Truck extends Vehicle{

private int capacity;//5

Truck(int p, int f, int m,int c){
//怎么在这调用父类有参的构造方法哦??
//super(p,f,m);//这样不对哦???
super(p,f,m);//这样还是不对,怎么办???
capacity=c;

}

public int getCapacity() {
return capacity;
}

public void setCapacity(int capacity) {
this.capacity = capacity;
}

double fuelneeded(int miles){
return miles /getMpg();

}

public static void main(String[] args)
{
Truck t= new Truck(3,70,5,5);
double d = t.fuelneeded(300);
System.out.println("满载行驶300公里需要"+d+"升油");
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
从乐然M0
2009-04-27 · TA获得超过134个赞
知道答主
回答量:258
采纳率:0%
帮助的人:119万
展开全部
太简单`快点去看书`
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ping3021
2009-04-27 · TA获得超过488个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:319万
展开全部
实在是懒的写了... 建议还是你自己写的好!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fanchangyong08
2009-04-27 · TA获得超过660个赞
知道小有建树答主
回答量:1096
采纳率:0%
帮助的人:0
展开全部
作业?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式