簡體   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