在java中在不同的行上格式化打印数字,以便一切都正确对齐

时间:2018-01-07 10:25:03

标签: java printing

我想在java中打印以下内容。有人可以发布代码来这样做。我不是在寻找硬编码的打印声明。

1-2--3--4--5

2-4--6--8--10

3-6--9--12-15

4-8--12-16-20

5-10-15-20-25

(这里的最后一栏似乎没有对齐,但我认为我想提出的内容在这里很清楚。)

基本上,数字应以对齐格式整齐打印。我正在寻找可以轻松用于扩展上述代码的代码,例如10行或更多,其中也可以存在3位数字。

谢谢:)

2 个答案:

答案 0 :(得分:0)

希望这会对你有所帮助:

public class PrintPattern {

    public static void main(String[] args) {
        int width=5;
        int height=5;
        for(int indexI=1;indexI<=height;indexI++)
        {
            for(int indexJ=1;indexJ<=width;indexJ++)
            {
                System.out.print(indexI*indexJ+"\t");
            }
            System.out.println();
        }

    }

}

对于对齐,我使用了标签\t

答案 1 :(得分:0)

阅读String.format()

public class Main{

    public static void main( String[] args ){
        IntStream.rangeClosed( 1 , 10 ).forEach( valueI -> {
            IntStream.rangeClosed( 1 , 10 ).forEach( valueJ -> {
                System.out.print( String.format( "%-3d" , valueI * valueJ ).replaceAll( " " , "-" ) );
            } );
            System.out.println();
        } );
    }
}