问题是让我掷两个骰子并将其输出分别打印在两个单独的列中,然后为两个掷骰的总和创建第三列。
import java.util.Random;
public class DiceRolls {
public static void main(String[] args) {
System.out.println("Dice 1\tDice 2");
Random ran = new Random();
int numberOne;
for (int x = 0; x < 7; x++) {
numberOne = ran.nextInt(6) + 1;
System.out.println(numberOne);
}
int numberTwo;
for (int y = 0; y < 7; y++) {
numberTwo = ran.nextInt(6) + 1;
System.out.println(" " + numberTwo);
}
}
}
答案 0 :(得分:3)
我认为您在想这是错误的方式,并试图在一个骰子的所有骰子上进行循环,在之后在另一个骰子上进行循环。相反,如果您尝试同时掷两个骰子,则添加它们并打印输出,这会使事情变得简单得多:
//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
创建格式化的输出。
String.format
或System.out.format
所做的基本上是使用%3d
以格式化的方式将变量(例如dieOne
)放入String
的内部。 %3d
的示例可以分为3个基本部分。
3
代表允许使用变量的 个字符 的数量
使用时,未使用的字符将用多余的空格填充。
d
是变量的类型(在本例中为int
)
%
用于表示String
中有一个变量因此,总而言之:%3d
用于将dieOne
,dieTwo
和dieOne + dieTwo
的值分别设置为{{1 }},每个共有3个 字符 。
在下面的编辑示例中,String
,int
,%4d
共有4、4和5个 字符 %4d
,%5d
和dieOne
分别设置为。选择的字符数用于匹配dieTwo
,dieOne + dieTwo
和Die1
的标题宽度。
编辑:如果您希望它看起来更像表格,则可以这样打印:
Die2