首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java Monopoly选择验证

Java Monopoly选择验证
EN

Stack Overflow用户
提问于 2019-02-09 23:53:57
回答 1查看 123关注 0票数 1

我正在java上编写一个垄断类型的游戏,并且在设置玩家选择函数的验证时遇到了一些问题。用户必须在2-4个玩家之间进行选择。

下面是我使用if else语句和while循环来完成此操作的尝试。

我想不出实现这一点的正确方法,并希望得到任何建议。

代码语言:javascript
运行
复制
int numberPlayers = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter Number of players (2-4)");

if (scanner.nextInt() >= 2 && scanner.nextInt() <= 4) {
    numberPlayers = scanner.nextInt();
    System.out.println(numberPlayers + " players selected");
} else {
    while (scanner.nextInt() < 2 || scanner.nextInt() > 4) {
        System.out.println("Not a valid choice. Please enter Number of players (2-4)");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-10 03:57:50

您可以使用do-while循环向用户询问至少一次玩家数量,并不断询问,直到输入有效。

代码语言:javascript
运行
复制
public int askForPlayers(Scanner scanner) {
    int numberPlayers = 0;
    do {
        System.out.println("Please enter Number of players (2-4)");
        numberPlayers = scanner.nextInt();
    } while(numberPlayers < 2 || numberPlayers > 4);
    return numberPlayers;
}

使用Scanner对象时,请记住,用户可能输入的不是数字。您必须使用hasNextInt()next()来处理这种情况。此外,当您关闭Scanner对象时,您也将关闭您使用的InputStream,请参见Close a Scanner linked to System.in

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54607909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档