Java 返回int值的布尔方法;

Java 返回int值的布尔方法;,java,boolean,return,Java,Boolean,Return,我在自学Java,我创建了一个程序来模拟一个垃圾游戏。我有一个布尔方法的整个游戏。一切正常,但我想计算用户每次获胜的次数。计算这些胜利并打印它们的最佳方法是什么 这是我的密码: import java.util.Random; public class game{ public static void main(String[] args) { Random rand = new Random(); for(int i = 0; i <= 10; i++){

我在自学Java,我创建了一个程序来模拟一个垃圾游戏。我有一个布尔方法的整个游戏。一切正常,但我想计算用户每次获胜的次数。计算这些胜利并打印它们的最佳方法是什么

这是我的密码:

import java.util.Random;

public class game{

public static void main(String[] args) {
    Random rand = new Random();
    for(int i = 0; i <= 10; i++){
        craps(rand);
    }
}

public static boolean craps(Random randomGen){
    int roll1 = randomGen.nextInt(6) + 1;
    int roll2 = randomGen.nextInt(6) + 1;

    int sum = roll1 + roll2;
    int sumRepeat = sum;
    int count = 0;


    String win = "you win";
    String lose = "you lose";
    String point = "point=";

    if(sum == 7 || sum == 11){
        System.out.printf("[%d,%d] %d %s\n",roll1,roll2,sum,win);
        count++;
        return true;
    }
    else if(sum == 2 || sum == 3 || sum == 12){
        System.out.printf("[%d,%d] %d %s\n",roll1,roll2,sum,lose);
        return false;
    }
    else{
        System.out.printf("[%d,%d] %s %d",roll1,roll2,point,sum);
        int roll3 = randomGen.nextInt(6) + 1;
        int roll4 = randomGen.nextInt(6) + 1;
        int sum2 = roll3 + roll4;
        do{
            roll3 = randomGen.nextInt(6) + 1;
            roll4 = randomGen.nextInt(6) + 1;
            sum2 = roll3 + roll4;
            if(sum2 == sumRepeat){
                System.out.printf("[%d,%d] %d %s\n",roll3,roll4,sum2,win);
                count++;
                return true;
            }else{
                System.out.printf("[%d,%d]",roll3,roll4);
            }
        }
        while(sum2 != 7);{
            System.out.printf("[%d,%d] %d %s\n",roll3,roll4,sum2,lose);
            return false;
        }
    }
}
}
import java.util.Random;
公开课游戏{
公共静态void main(字符串[]args){
Random rand=新的Random();

对于(int i=0;i在
craps
函数之外计算它们,这里有一个简单的方法:

public static void main(String[] args) {
    Random rand = new Random();
    int counter = 0;
    for(int i = 0; i <= 10; i++){
        if(craps(rand)) counter++;
    }

    System.out.println("You won " + counter + " times!");
}
publicstaticvoidmain(字符串[]args){
Random rand=新的Random();
int计数器=0;
对于(inti=0;i
intwins=0;

对于(int i=0;我实现了你的解决方案,它几乎可以像我所希望的那样工作。唯一的问题是它每次玩游戏时都会计数。而不是每次用户赢一轮时都计数。我将粘贴程序输出的副本,以使一切更清楚。再次感谢你的帮助。如果你完全复制粘贴,它应该可以工作…除非你的
craps
函数总是返回
true
。我实际上没有检查该函数,我只是假设它可以工作。
int wins = 0;
for(int i = 0; i <= 10; i++){
    if(craps(rand)) {
        wins++;
    }
}

// Print a friendly message including `wins`