Java 无法从结果类型为void error的方法返回值
我试图从一个方法中获取用户输入,并在另一个方法中使用它。我对无法从结果类型为void error的方法返回值感到困惑,因为“userMove”定义为int类型Java 无法从结果类型为void error的方法返回值,java,compiler-errors,return,Java,Compiler Errors,Return,我试图从一个方法中获取用户输入,并在另一个方法中使用它。我对无法从结果类型为void error的方法返回值感到困惑,因为“userMove”定义为int类型 public static void move() { System.out.println("What do you want to do?"); Scanner scan = new Scanner(System.in); int userMove = scan.nextInt(); return us
public static void move()
{
System.out.println("What do you want to do?");
Scanner scan = new Scanner(System.in);
int userMove = scan.nextInt();
return userMove;
}
public static void usersMove(String playerName, int gesture)
{
int userMove = move();
if (userMove == -1)
{
break;
}
在返回
int
时,只需将void
更改为int
public static int move()
{
System.out.println("What do you want to do?");
Scanner scan = new Scanner(System.in);
int userMove = scan.nextInt();
return userMove;
}
void
方法意味着它不返回任何内容(即不返回语句),除void
之外的任何内容都需要返回。标记为void
的方法意味着它不返回任何内容。它可以看作是一个过程
,而不是一个函数
将方法签名更改为publicstaticintmove()
应该可以解决您的问题。现在,您的方法将表示一个具有返回值的函数
Oracle教程应该提供一些有用的信息。从未见过void方法返回int值。void方法意味着它不返回任何内容(即不返回语句),除了void之外的任何内容都需要返回。那就言过其实了。仍然可以利用返回代码>以安全退出无效函数。