gpt4 book ai didi

java - 编写一个 Car 类,其构造函数接受yearModel、品牌和速度(以 MPH 为单位)作为参数

转载 作者:行者123 更新时间:2023-12-01 17:32:57 25 4
gpt4 key购买 nike

因此我们需要编写一个 Car 类,它接受型号、制造商和速度作为参数。我们得到了运行的主要方法,并且只需要编写包含加速(增加 5 英里/小时)和制动(减少 5 英里/小时但永远不会低于 0)的类。

main 方法为我们提供了以下几行代码来设置参数:

Car a = new Car(2008, "Toyota", 0);
Car b = new Car(2017, "Ford", 20);
Car c = new Car(2012, "Volvo", 6);
Car [] test_field = {a, b, c};

main中的调用显示为

for(int i = 0; i < test_field.length; i++){
test_field[i].accelerate();
}
}
else{
for(int i = 0; i<test_field.length; i++){
test_field[i].brake();
}

在编写方法时,当我尝试运行并且我似乎无法弄清楚我的问题时,我不断收到 Car 类中的一个方法无法应用于我的加速和制动方法的给定类型。

我的代码:

public class Car {

private int yearModel;
private String make;
private int speed;

public Car() {

}
public Car(int ym, String m, int sp) {

yearModel = ym;
make = m;
speed = sp;
}
public void setModel(int ym) {
yearModel = ym;
}
public void setMake(String m) {
make = m;
}
public void setSpeed(int sp) {
speed = sp;

}


public int accelerate(Car c) {

speed = speed + 5;

return speed;

}
public int brake(Car c) {
speed = speed - 5;

if (speed < 0) {
speed = 0;
return speed;
}

else return speed;

}
}

对于新手编码员的任何输入或见解表示赞赏。

最佳答案

为什么您的加速和制动方法需要在方法签名中包含 Car 对象?

public int Accelerator(Car c)

调用该方法时也不传递 Car 对象。

test_field[i].accelerate();

由于您没有在方法中对 c 执行任何操作,因此可以删除该参数。

应该看起来像这样:

public int accelerate() {
speed = speed + 5;
return speed;
}

public int brake() {
speed = speed - 5;
if (speed < 0) {
speed = 0;
return speed;
}
else {
return speed;
}
}

关于java - 编写一个 Car 类,其构造函数接受yearModel、品牌和速度(以 MPH 为单位)作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61085952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com