为什么此特定方法包含静态而不打印到控制台?

时间:2019-02-04 20:29:48

标签: java

在下面的代码中,必须将方法onOrOff()打印到控制台,说明引擎已关闭。但是,此特定方法将不会打印。

我尝试过System.out.println("engine is off");,但出现错误,指出“ 缺少返回语句”。

输出中未显示方法onOrOff()的主要原因是什么?

public static void main(String[] args) {
    Vehicle truck = new Vehicle(200, 8, "red", 5);

    System.out.println(truck.size);
    System.out.println(truck.wheels);
    System.out.println(truck.color);
    System.out.println(truck.numbofGears);
    onOrOff();
}

Vehicle(int size, int wheels, String color, int numbofGears) {
    this.size=size;
    this.color=color;
    this.wheels=14;
    this.numbofGears=numbofGears;
}

static String onOrOff() {
    return Engine is off;
}

2 个答案:

答案 0 :(得分:2)

您的onOrOff()方法返回一个String,并且您是从main调用此方法的,但是您对返回的String并没有做任何事情。请尝试以下操作:

System.out.println(onOrOff());

答案 1 :(得分:1)

UnholySheep已经回答了这个问题;但我会尝试添加更多详细信息:

  

Engine is off不是字符串。您还需要打印该方法的返回值。

勘误表:内森·休斯(Nathan Hughes)也这样做

  

使用双引号,例如:return "Engine is off";


如果需要字符串,则必须用双引号将单词引起来,例如:"Hello World"Foo

因此,在您的示例中,您将不得不使用return "Engine is off"return Engine is off本身不起作用。


不相关的问题,但是为什么在 Vehicule 构造函数中,您有一个 wheels 参数,但是却给关联的属性赋予另一个值(14参数?

那只是暂时的吗?