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