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

时间:2014-11-20 21:32:25

标签: java syntax void return-type

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

2 个答案:

答案 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;
}