如何调用方法?继续收到错误消息“返回类型无效”

时间:2013-11-13 08:41:19

标签: java

我试图调用“menu”的方法,但它说返回类型是无效的?

我希望当边数等于2时显示菜单方法中的代码?

import java.util.Scanner;

class RecordDice {
public static void main(String[] args){
    int dSides, Sides;
    Scanner s = new Scanner(System.in);
    System.out.println("How many sides should the dice have?");
    Sides = s.nextInt();
    if (Sides == 2){
        return menu();
    }
}
  public String menu()
  {
    System.out.println("BLOODY WORK");
  }
}

2 个答案:

答案 0 :(得分:3)

if(Sides == 2){
    menu();
}

只需提供方法名称即可。您的main()无效,因此您无需返回值。否则,如果您想稍后使用它,可以捕获变量中的值。

if(Sides == 2){
    String val = menu();
}

但是你的menu()方法根本没有return语句,即使它有String返回类型。

此外,menu()方法似乎在RecordDice之外。将其移入内部,以便能够调用它。而且,您必须将其设为static,因为您在main()方法中调用它static。您无法从non-static一个方法调用static方法。

答案 1 :(得分:2)

public static void main(String[] args){ // here your return type is void

当返回类型为void时,您无法返回值。

更改如下

 if (Sides == 2){
   String val=menu();// now val assign the retuning value of menu()
  }