Java 无法从结果类型为void error的方法返回值

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

我试图从一个方法中获取用户输入,并在另一个方法中使用它。我对无法从结果类型为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 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之外的任何内容都需要返回。那就言过其实了。仍然可以利用
返回以安全退出无效函数。