[英]Why won't my IF-ELSE-IF statement work correctly?
我正在尝试用 Java 创建一个简单的二十一点游戏。 我有一个菜单,其中包含 1-4 的可能整数选项。 如果用户输入一个大于4的整数,我的IF语句需要打印“无效整数”,然后重新启动游戏。 如果用户输入负值,我的 ELSE-IF 语句需要做同样的事情。
但是,这些语句只能工作一次,因此如果我多次/背靠背输入小于 0 的值和大于 4 的值,我将无法打印“无效整数”。
[已编辑]
任何帮助表示赞赏。
如果您像这样定义了 scnr:
Scanner scnr = new Scanner(System.in);
我建议您使用 default 子句做一个简单的 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() 等方法,并创建一个类变量,用于持有手牌、游戏计数和庄家/玩家的胜利。 理解你的代码会容易得多。 然后您可以尝试在代码中的 main 中编写代码。
就像是;
public BlackJack {
**class variables such as hand, player wins etc..**
**methods here**
**main method to try your code**
}
我希望你能明白我的建议,我知道当你写完你的代码时,现在可能感觉有很多工作要做,但这会对你和任何阅读你代码的人都有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.