因此我们需要编写一个 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/