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.format
or System.out.format
does 基本上用于%3d
将变量,例如,以格式化的方式dieOne
放在里面。String
这个例子%3d
可以分解成3个基本部分。
代表允许变量使用的字符
3
数,未使用的字符用额外的空格填充。The
d
是变量的类型(在本例中为int
)用于
%
表示在那个位置有一个变量String
。
所以总而言之:%3d
用于设置dieOne
, dieTwo
, 和的值dieOne + dieTwo
分别为String
as 一个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("-----------------");
添加回答
举报