编辑代码

import java.util.Scanner;

public class DoubleDice {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double balance = 100.0;

        System.out.printf("You have $%.2f%n", balance);

        while (true) {
            double bet = getValidBet(scanner, balance);
            if (bet == 0) {
                System.out.println("See you around, winner!");
                break;
            }

            Die die1 = new Die();
            Die die2 = new Die();
            die1.roll();
            die2.roll();

            System.out.printf("You rolled a %s and %s%n", die1, die2);

            if (die1.equals(die2)) {
                balance += bet;
                System.out.printf("You win $%.2f%n%n", bet);
            } else {
                balance -= bet;
                System.out.printf("You lose $%.2f%n%n", bet);
            }

            if (balance <= 0) {
                System.out.println("You are out of money!");
                System.out.println("Better luck next time");
                break;
            }

            System.out.printf("You have $%.2f%n", balance);
        }

        scanner.close();
    }

    private static double getValidBet(Scanner scanner, double balance) {
        double bet;
        while (true) {
            System.out.print("How much would you like to bet (Enter 0 to quit)? ");
            if (!scanner.hasNextDouble()) {
                System.out.println("Invalid input. Please enter a valid number.");
                scanner.next();
                continue;
            }
            bet = scanner.nextDouble();
            if (bet < 0) {
                System.out.println("Bet amount cannot be negative.");
            } else if (bet > balance) {
                System.out.printf("You don't have enough money. Your balance: $%.2f%n", balance);
            } else {
                break;
            }
        }
        return bet;
    }
}