-3

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

我希望菜单方法中的代码在边数等于 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");
  }
}
4

2 回答 2

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

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

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

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

此外,该menu()方法似乎在RecordDice. 将其移入内部,以便能够调用它。而且你也必须做到这static一点,因为你在main()方法中调用它,即static. 你不能non-static从一个方法调用一个方法static

于 2013-11-13T08:42:07.233 回答
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()
  }
于 2013-11-13T08:42:53.497 回答