Java 为什么输出总是0.0? //创建SevenTally类 七级公共课{ 私人整数计数; 公共七分之一(整数){ this.count=diceCount; } //创建实验方法 公共布尔实验(){ int winCount=0; //创建根据输入滚动的骰子数组 int[]dicells=新的int[计数]; //为每个数组值指定1到6之间的随机值 对于(int x=0;x

Java 为什么输出总是0.0? //创建SevenTally类 七级公共课{ 私人整数计数; 公共七分之一(整数){ this.count=diceCount; } //创建实验方法 公共布尔实验(){ int winCount=0; //创建根据输入滚动的骰子数组 int[]dicells=新的int[计数]; //为每个数组值指定1到6之间的随机值 对于(int x=0;x,java,Java,问题似乎出在数组for循环上。我只测试了代码的那一部分,它正确地将值输入到我的数组中,但是当我把整个东西放在一起时,我认为数组是空的,或者在退出循环后是空的 这是类驱动程序: //creates SevenTally class public class SevenTally{ private int count; public SevenTally(int diceCount){ this.count = diceCount; } //cr

问题似乎出在数组for循环上。我只测试了代码的那一部分,它正确地将值输入到我的数组中,但是当我把整个东西放在一起时,我认为数组是空的,或者在退出循环后是空的

这是类驱动程序:

//creates SevenTally class
public class SevenTally{

    private int count;

    public SevenTally(int diceCount){
        this.count = diceCount;
    }

    //creates experiment method
    public boolean experiment(){
        int winCount = 0;
        //creates array of dice rolled according to input
        int[] diceRolls = new int[count];
        //assigns random value from 1 to 6 to each array value
        for(int x = 0; x < diceRolls.length; x++) {
            diceRolls[x] = (1 + (int)(6 * Math.random()));
            for(int n = 0; n < diceRolls.length; n++) {
                for(int m = n + 1; m < n; m++){
                    //checks for two dice in the total rolls that sum to 7
                    if (diceRolls[n] + diceRolls[m] == 7)
                        winCount++;
                }
            }
        }
        if (winCount > 0)
            return true;
        else
            return false;
    }
}
import java.util.Scanner;
公共类SevenDriver{
公共静态void main(字符串[]args){
System.out.println(“输入要掷骰子的数量”);
扫描仪s=新的扫描仪(System.in);
int diceCount=s.nextInt();
七分t=新七分(骰子计数);
int=1000000;
int=0;
对于(int j=0;j<实验;j++)
如果(t.experience())赢了++;
System.out.println((双)赢/实验);
} 
}
你写的

import java.util.Scanner;

public class SevenDriver{    

    public static void main(String[] args){      
        System.out.println("Enter number of dice to toss");     
        Scanner s = new Scanner(System.in);      
        int diceCount = s.nextInt(); 
        SevenTally t = new SevenTally(diceCount);
        int experiments = 1000000;
        int wins = 0;

        for(int j = 0; j < experiments; j++)
            if(t.experiment()) wins++;

        System.out.println((double)wins/experiments);
    } 
}

你不是在解释你想做什么,你只是问人们为什么输出是错误的。请添加对算法的解释,以及一些测试场景的预期结果。
for(int m = n + 1; m < n; m++)
for(int m = n + 1; m < diceRolls.length; m++)