繁体   English   中英

为什么我的 IF-ELSE-IF 语句不能正常工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM