我学习使用课程,而我的部分任务是制作这个Car课程。我在第6行收到错误,我试图在类中打印方法的结果。我认为这意味着我试图打印一些不存在的东西,我怀疑它是里程方法。我尝试将其更改为返回里程,但这也无效。有什么想法吗?
public class TestCar {
public static final void main(String args[]) {
Car c = new Car ();
c.moveForward(4);
System.out.println ("The car went" + c.mileage() + "miles."); // <-- L6
}
}
class Car {
public int miles = 2000;
public void moveForward(int mf) {
if (miles != 2000) {
miles += mf;
}
}
public void mileage() {
System.out.print(miles);
}
}
答案 0 :(得分:9)
错误消息告诉您确切的错误 - 您正在尝试从不返回结果的方法中提取结果。
相反,让mileage()
方法返回一个字符串,而不是打印出一个字符串。
public String mileage() {
return String.valueOf(miles);
}
我自己,我会把它变成一个getter方法,而不是:
public int getMiles() {
return miles;
}
答案 1 :(得分:2)
Car.mileage()
无效,即不返回任何内容。它需要返回一些内容,例如:
public int mileage() {
return miles;
}