错误:此处不允许使用’void’类型

我正在学习使用课程,我的部分任务是制作这个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); } } 

错误消息告诉您确切的错误 – 您尝试从不返回结果的方法中提取结果。

相反,让mileage()方法返回一个String,而不是打印出一个String。

 public String mileage() { return String.valueOf(miles); } 

我自己,我会把它变成一个getter方法,而是做:

 public int getMiles() { return miles; } 

Car.mileage()无效,即不返回任何内容。 它需要返回一些东西,比如:

 public int mileage() { return miles; }