0

我一直试图让控制台打印这个

1
22
333
4444
55555
666666

作为

                1
               22
              333
             4444
            55555
           666666

我试过使用\t,但这不起作用。

4

5 回答 5

3

在写数字之前写下所需数量的空格字符。

于 2012-11-09T05:32:19.373 回答
2

使用字符串格式

String formattedString = String.format("%" + spaceCount + "s", " "); 
//prints spaceCount spaces
System.out.println(formattedString); 

根据需要在行之间增加空格数,你会得到那么多空格。

于 2012-11-09T05:37:58.373 回答
1

没有好的方法可以做到这一点,所以你需要使用空格。但请记住,控制台窗口每次的宽度都不相同!

String number = /* Your number as string is needed here*/
String outcome = "";
int width = 15;
for(int i = 0; i < width - number.length; i++) {
    outcome += " ";
}
outcome += number;

这是不好的方法,但它应该工作。对您拥有的每个号码重复此操作。

于 2012-11-09T05:36:26.877 回答
1

要在控制台上使用右对齐,你必须知道你想要它有多远。大多数终端都是 80 个字符宽,所以你可以这样做:

String.format("%80d", i);

如果您想要小于这个值,请使用小于 80 的数字。

使用String.format使 java 为您完成所有计数工作。

于 2012-11-09T05:37:42.973 回答
1
for ( int i = 1 ; i <=6 ; i++ ){
            for( int j = 0 ; j <= 20 - i ; j++ ){
                System.out.print(" ");
            }
            int k = i ;
            while (k > 0){
                System.out.print(i);
                k--;
            }
            System.out.println("");
        }
于 2012-11-09T05:41:34.993 回答