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("-----------------");
添加回答
舉報