Java 如果while循环重复,尝试保持新的结束平衡
我必须创建一个游戏,提示用户输入起始余额,然后下注。然后他们赢或输,他们的余额也会相应地增减。我的问题是,如果玩家想再次玩,我不知道如何让程序记住在while循环中重新开始之前的最终平衡。当提示用户时,我的余额保持为最初输入的余额。如果这是重复,我很抱歉,但我找不到这样的问题,我已经搜索了一个多小时。提前谢谢Java 如果while循环重复,尝试保持新的结束平衡,java,if-statement,for-loop,while-loop,Java,If Statement,For Loop,While Loop,我必须创建一个游戏,提示用户输入起始余额,然后下注。然后他们赢或输,他们的余额也会相应地增减。我的问题是,如果玩家想再次玩,我不知道如何让程序记住在while循环中重新开始之前的最终平衡。当提示用户时,我的余额保持为最初输入的余额。如果这是重复,我很抱歉,但我找不到这样的问题,我已经搜索了一个多小时。提前谢谢 import static java.lang.Math.*; import java.util.Scanner; public class BetGame { public st
import static java.lang.Math.*;
import java.util.Scanner;
public class BetGame
{
public static void main(String [] args)
{
Scanner in = new Scanner(System.in);
int die1, die2;
boolean looping = true;
System.out.println("Please enter your starting balance in whole dollars:");
double balance = in.nextDouble();
System.out.println("Your beginning balance is " + balance + ", good luck!!");
int guess = 0;
double bet2 = 0;
double endingBalance = 0;
while(looping) {
while (guess < 3) {//to allow the user to do this only 3 times
System.out.println("Enter a valid bet:");
double bet = in.nextDouble();
if (bet >= balance || bet >= endingBalance){
System.out.println("That is more than your balance.");
}
else if (bet < balance || bet < endingBalance) {
bet2 = 0 + bet;
break;
}
guess++;
if (guess == 3) {
looping = false;
System.out.println("You have entered three invalid bets in a row. Please leave the casino.");
}
}
die1 = RollDie();
die2 = RollDie();
int sum = die1 + die2;
if (2 <= sum && sum <= 6) {
System.out.println("The roll is " + die1 + " and " + die2 + " for a " + sum + " for a win!");
endingBalance = balance + bet2;
}
else if (7 <= sum && sum <= 12) {
System.out.println("The roll is " + die1 + " and " + die2 + " for a " + sum + " for a lose!");
endingBalance = balance - bet2;
}
System.out.println("Your balance is " + endingBalance);
System.out.println("Do you want to roll again?");
String answer = in.next();
if ((answer.equals("n")) || (answer.equals("N"))) {
looping = false;
}
}
System.out.println("Your balance is " + endingBalance + ". Better luck next time! Have a wonderful evening!");
}
static int RollDie()
{
int min = 1;
int max = 6;
return myRandomInteger(min, max);
}
static int myRandomInteger(int min, int max)
{
double range = max - min + 1.0;
int randomNum = (int)(range * Math.random()) + min;
return randomNum;
}
}
导入静态java.lang.Math.*;
导入java.util.Scanner;
公共类BetGame
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
int die1,die2;
布尔循环=真;
System.out.println(“请以整美元输入您的起始余额:”;
双平衡=in.nextDouble();
System.out.println(“您的初始余额为“+balance+”,祝您好运!!”;
int guess=0;
双bet2=0;
双端天平=0;
while(循环){
而(guess<3){//只允许用户这样做3次
System.out.println(“输入有效赌注:”);
双下注=in.nextDouble();
如果(下注>=余额| |下注>=结束余额){
System.out.println(“这超出了您的余额。”);
}
else如果(bet 如果(2查看这部分代码:
if (bet >= balance || bet >= endingBalance){
System.out.println("That is more than your balance.");
}
bet
将始终大于endingBalance
,因为endingBalance
为0。您可以将余额存储在变量中
double balance = in.nextDouble();
double originalBalance = balance;
我不是想作弊。整个问题都是我自己写出来的。我只是想得到如何让程序记住一个值的指导。我不是在寻找一个简单的方法。也许是通过将它存储到变量中?