Java 如果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

我必须创建一个游戏,提示用户输入起始余额,然后下注。然后他们赢或输,他们的余额也会相应地增减。我的问题是,如果玩家想再次玩,我不知道如何让程序记住在while循环中重新开始之前的最终平衡。当提示用户时,我的余额保持为最初输入的余额。如果这是重复,我很抱歉,但我找不到这样的问题,我已经搜索了一个多小时。提前谢谢

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;

我不是想作弊。整个问题都是我自己写出来的。我只是想得到如何让程序记住一个值的指导。我不是在寻找一个简单的方法。也许是通过将它存储到变量中?