我试图调用“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");
}
}
答案 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()
}