1 回答
TA贡献1802条经验 获得超6个赞
我认为您正在以错误的方式思考这个问题,并试图遍历一个骰子的所有卷,然后再遍历另一个骰子。如果您尝试同时掷两个骰子,然后将它们相加并打印输出,它会使事情变得简单得多:
//How many runs you want
int numRuns = 7;
for (int x = 0; x < numRuns; x++) {
Random ran = new Random();
int dieOne = ran.nextInt(6) + 1;
int dieTwo = ran.nextInt(6) + 1;
System.out.format("| Die 1:%3d| Die 2:%3d| Total:%3d|\n", dieOne, dieTwo, dieOne + dieTwo);
}
此代码将掷两个骰子 7 次并将它们加在一起。您可以更改 的值numRuns以更改它运行的次数。然后,您可以使用System.out.format或String.format创建格式化输出。
What String.formator System.out.formatdoes 基本上用于%3d将变量,例如,以格式化的方式dieOne放在里面。String这个例子%3d可以分解成3个基本部分。
代表允许变量使用的字符
3数,未使用的字符用额外的空格填充。The
d是变量的类型(在本例中为int)用于
%表示在那个位置有一个变量String
。
所以总而言之:%3d用于设置dieOne, dieTwo, 和的值dieOne + dieTwo分别为Stringas 一个int,每个总共有 3 个字符。
在下面的编辑示例中,%4d、%4d、%5d总共有 4、4 和 5 个字符,分别设置为dieOne、dieTwo和。dieOne + dieTwo选择的字符数用于匹配Die1、Die2和的标题宽度Total。
编辑: 如果你想让它看起来更像一张桌子,你可以这样打印它:
//How many runs you want
int numRuns = 7;
System.out.println("-----------------");
System.out.println("|Die1|Die2|Total|");
System.out.println("-----------------");
for (int x = 0; x < numRuns; x++) {
Random ran = new Random();
int dieOne = ran.nextInt(6) + 1;
int dieTwo = ran.nextInt(6) + 1;
System.out.format("|%4d|%4d|%5d|\n", dieOne, dieTwo, dieOne + dieTwo);
}
System.out.println("-----------------");
添加回答
举报
