RollingDice Java程序最长连胜
有人能帮我找出如何让这个程序显示最长的条纹吗。我掷两个骰子,并记录每个骰子总数的百分比。现在我需要一些东西来告诉我最长连胜中的骰子总数,例如“最长连胜是从1479966开始的8-7连胜。”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
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();
}
}
模型类允许您将一组字段视为一个对象
我不想泄露全部答案。您仍然需要确定如何创建这些模型类实例并获得最长的条纹。提示:可以有一个以上的最长连胜。您能告诉我们您到目前为止尝试了什么吗?似乎是重复的。