提问人:Brock Benton 提问时间:5/23/2023 最后编辑:AbraBrock Benton 更新时间:5/24/2023 访问量:60
Java 代码的基本循环问题 - 如何允许玩家在终端中多次赌博?
Basic Loop Issue with Java Code - How do I allow a player to gamble multiple times in the terminal?
问:
我一两周前刚开始学习 Java,我想在终端中创建一个愚蠢的小赌博软件;但是,即使我希望他们能够多次赌博,玩家也只能赌博一次。
法典:
import java.util.Random;
import java.util.Scanner;
public class Gambler {
public static void main(String[] args) {
Random random = new Random();
Scanner scanner = new Scanner(System.in);
int balance = 100;
System.out.println();
System.out.println("--> Current Balance: $" + balance + " <--");
System.out.println();
System.out.println("Would you like to enter the Java Gambler simulator?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
String yesOrNo;
yesOrNo = scanner.nextLine();
if (yesOrNo.equalsIgnoreCase("Yes")) {
System.out.println();
System.out.println("[!] Welcome to the Java Gambler! [!]");
System.out.println();
System.out.println("The only Java gambling software in all of Java County!");
System.out.println();
System.out.println("If the chosen number is {1}, the player automatically wins $20.");
System.out.println("If the chosen number is {2}, the player automatically wins $10.");
System.out.println("If the chosen number is {3}, the player automatically wins $5.");
System.out.println("All other numbers are an automatic loss.");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
String yesOrNo2;
yesOrNo2 = scanner.nextLine();
if (yesOrNo2.equalsIgnoreCase("Yes")) {
System.out.println();
System.out.println("Gambling Options:");
System.out.println();
System.out.println("[A] $1 Bet (1/20 $20, 1/20 $10, 1/20 $5)");
System.out.println("[B] $5 Bet (1/10 $20, 1/10 $10, 1/10 $5)");
System.out.println("[C] $10 Bet (1/5 $20, 1/5 $10, 1/5 $5)");
System.out.println();
System.out.println("Gambling Selection: ");
System.out.println();
String continueGambling = "Yes";
while (continueGambling.equalsIgnoreCase("Yes")) {
String gamblingSelection;
gamblingSelection = scanner.nextLine();
String a = "A";
String b = "B";
String c = "C";
if (gamblingSelection.equalsIgnoreCase(a)) {
balance = balance - 1;
int aSelection = random.nextInt(20) + 1;
System.out.println();
System.out.println("And the number is... " + aSelection);
System.out.println();
switch (aSelection) {
case 1:
System.out.println("Congrats, you have won $20!");
balance = balance + 20;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
case 2:
System.out.println("Congrats, you have won $10!");
balance = balance + 10;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
case 3:
System.out.println("Congrats, you have won $5!");
balance = balance + 5;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
default:
System.out.println("Sorry, no luck this time...");
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
}
}
else if (gamblingSelection.equalsIgnoreCase(b)) {
balance = balance - 5;
int bSelection = random.nextInt(10) + 1;
System.out.println();
System.out.println("And the number is... " + bSelection);
System.out.println();
switch (bSelection) {
case 1:
System.out.println("Congrats, you have won $20!");
balance = balance + 20;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
case 2:
System.out.println("Congrats, you have won $10!");
balance = balance + 10;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
case 3:
System.out.println("You won $5! Its a free spin, I guess...");
balance = balance + 5;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
default:
System.out.println("Sorry, no luck this time...");
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
}
}
else if (gamblingSelection.equalsIgnoreCase(c)) {
balance = balance - 10;
int cSelection = random.nextInt(5) + 1;
System.out.println();
System.out.println("And the number is... " + cSelection);
System.out.println();
switch (cSelection) {
case 1:
System.out.println("Congrats, you have won $20!");
balance = balance + 20;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
case 2:
System.out.println("You won $10! Its a free spin, I guess...");
balance = balance + 10;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
case 3:
System.out.println("You won $5! At least its somethin...");
balance = balance + 5;
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
default:
System.out.println("Sorry, no luck this time...");
System.out.println("--> Your new balance: $" + balance + " <--");
System.out.println();
System.out.println("Continue?");
System.out.println();
System.out.println("[Yes] [No]");
System.out.println();
break;
}
}
}
continueGambling = scanner.nextLine();
}
else {
String wrongValue = "Invalid response. Please try again.";
System.out.println(wrongValue);
}
}
else if (yesOrNo.equalsIgnoreCase("No")) {
System.out.println("You sure are missing out...");
}
else {
System.out.println("Invalid response. Please try again.");
}
scanner.close();
}
}
以下是 GitHub 上完整代码的链接: https://github.com/OkBrock/Gambler
我做了一个循环并制作了一个扫描仪,但每次我输入“是”时,什么也没发生。
摘要:
我需要玩家有能力用单一余额进行多次赌博。
我已经用扫描仪做了一个循环,但什么也没发生。检查代码以查看。
答: 暂无答案
评论
while
while
continueGambling = scanner.nextLine();