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