RollingDice Java程序最长连胜

RollingDice Java程序最长连胜,java,dice,Java,Dice,有人能帮我找出如何让这个程序显示最长的条纹吗。我掷两个骰子,并记录每个骰子总数的百分比。现在我需要一些东西来告诉我最长连胜中的骰子总数,例如“最长连胜是从1479966开始的8-7连胜。” import java.util.Scanner; 导入java.text.DecimalFormat; 公共级溜冰场{ /*作者:姓名 *作业:第三课程 */ 公共静态void main(字符串[]args){ 扫描仪kbd=新扫描仪(System.in); int timeslolled,randomOu

有人能帮我找出如何让这个程序显示最长的条纹吗。我掷两个骰子,并记录每个骰子总数的百分比。现在我需要一些东西来告诉我最长连胜中的骰子总数,例如“最长连胜是从1479966开始的8-7连胜。”

import java.util.Scanner;
导入java.text.DecimalFormat;
公共级溜冰场{
/*作者:姓名
*作业:第三课程
*/
公共静态void main(字符串[]args){
扫描仪kbd=新扫描仪(System.in);
int timeslolled,randomOutSum;
DecimalFormat df=新的DecimalFormat(“#.####”);
System.out.println(“名称:”
+“\n签名:第三个程序”
+“\nExtra积分:百分比显示在小数点后三位”);
int[]d=新的int[13];
对于(inti=2;i<13;i++)d[i]=0;
int N=0;
布尔值againA=true;
while(againA){
试一试{
系统输出打印(“\n有多少卷?”);
N=kbd.nextInt();
阿加娜=假;
}捕获(例外e){
System.out.println(“无效输入”);
kbd.next();
}
}   
对于(int k=0;k
最长的一次是从1479966卷开始的8-7秒

import java.util.Scanner;
import java.text.DecimalFormat;

public class RollThoseDice {
    /* Author: Name
     * Assignment: Third Program
     */
    public static void main(String[] args) {
    Scanner kbd = new Scanner(System.in);
    int timesRolled, randomOutSum;
    DecimalFormat df = new DecimalFormat ("#.###");

    System.out.println("Name: "
                + "\nAssignment: Third Program"
                +"\nExtra Credit: Percentage is displayed in three decimal places");

    int[] d = new int[13];
    for (int i = 2; i < 13; i++) d[i] = 0;

    int N=0;
    boolean againA = true;
    while(againA) {
        try{
            System.out.print("\nHow Many Rolls? ");
            N =kbd.nextInt();
            againA = false;

        } catch(Exception e) {
            System.out.println("Invalid Input");
            kbd.next();
        }
    }   

    for (int k = 0; k < N; k++) {
    int diceOut1 = (int) (Math.random()*6+1);
    int diceOut2 = (int) (Math.random()*6+1);

       int diceSum = diceOut1 + diceOut2;
       d[diceSum]++;       
    }

    for (int i = 2; i < 13; i++)

       System.out.println("Total " + i + " happened "
               + df.format((double) (d[(int) i] / (double) N) * 100) 
               + "% of the time.");
    }

}
那么,输出中的参数是什么

看起来像卷数、运行长度或卷数以及卷数

嗯,什么可以保留多个变量,这样我们就可以把它们当作一件事来对待

我知道,我们将创建一个模型类

public class RollStreak {

    private final NumberFormat NF = NumberFormat.getInstance();

    private int roll;
    private int rollCount;

    private long rollNumber;

    public RollStreak(int roll, long rollNumber, int rollCount) {
        this.roll = roll;
        this.rollNumber = rollNumber;
        this.rollCount = rollCount;
    }

    public int getRoll() {
        return roll;
    }

    public int getRollCount() {
        return rollCount;
    }

    public long getRollNumber() {
        return rollNumber;
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("The computer rolled a ");
        builder.append(roll);
        builder.append(" ");
        builder.append(rollCount);
        builder.append(" times in a row starting at roll number ");
        builder.append(NF.format(rollNumber));
        builder.append(".");

        return builder.toString();
    }

}
模型类允许您将一组字段视为一个对象


我不想泄露全部答案。您仍然需要确定如何创建这些模型类实例并获得最长的条纹。提示:可以有一个以上的最长连胜。

您能告诉我们您到目前为止尝试了什么吗?似乎是重复的。