3

我试图从一种方法中获取用户输入并在另一种方法中使用它。我对无法从结果类型为 void 错误的方法返回值感到困惑,因为“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;
    }
4

2 回答 2

9

只需voidint您返回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和返回是必需的。

于 2013-03-20T08:17:52.973 回答
4

标记为的void方法意味着它不返回任何内容。可以将其视为 aprocedure与 a 相对function

将您的方法签名更改为public static int move()应该可以解决您的问题。您的方法现在将表示 a function,它有一个返回值。

这个Oracle 教程应该提供一些有用的信息。

于 2013-03-20T08:18:49.110 回答