我正在尝试用 Java 创建一个简单的二十一点游戏。我有一个菜单,其中包含 1-4 的可能整数选项。如果用户输入大于4的整数,我的IF语句需要打印“invalid integer”然后重启游戏。如果用户输入一个负值,我的 ELSE-IF 语句需要做同样的事情。
但是,这些语句只能工作一次,所以如果我多次输入低于 0 的值和大于 4 的值/背靠背,我将无法打印“无效整数”。
[已编辑]
任何帮助表示赞赏。
我正在尝试用 Java 创建一个简单的二十一点游戏。我有一个菜单,其中包含 1-4 的可能整数选项。如果用户输入大于4的整数,我的IF语句需要打印“invalid integer”然后重启游戏。如果用户输入一个负值,我的 ELSE-IF 语句需要做同样的事情。
但是,这些语句只能工作一次,所以如果我多次输入低于 0 的值和大于 4 的值/背靠背,我将无法打印“无效整数”。
[已编辑]
任何帮助表示赞赏。
如果您已经像这样定义了 scnr:
Scanner scnr = new Scanner(System.in);
我建议您使用默认子句做一个简单的 switch case 语句。
switch (userOpt) {
case 1:
// Option 1 logic...
case 2:
// Option 2 logic...
case 3:
// Option 3 logic...
case 4:
// Option 4 logic...
default:
// Handling invalid input...
}
您编写代码的方式确实令人困惑。即案例1如何涉及获得另一张卡?所有代码都写在一个主函数中吗?你如何创建一个名为 blackjack 的类,在其中你有不同的 getCard()、holdHand() 等方法,并创建一个类变量来控制手牌以及游戏计数和庄家/玩家获胜。会更容易理解您的代码。然后你可以在你的代码里面尝试你的代码。
就像是;
public BlackJack {
**class variables such as hand, player wins etc..**
**methods here**
**main method to try your code**
}
我希望你能明白我的建议,我知道当你编写代码时,现在可能感觉需要做很多工作,但这会对你和任何阅读你的代码的人有所帮助。