我如何将其制作成表格输出?

问题是要求我掷两个骰子并在两个单独的列中分别打印它们的输出,然后为两次掷骰的总和创建第三列。


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);

        }

    }

}


慕容森
浏览 74回答 1
1回答

呼啦一阵风

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

相关分类

Java