格式化输出中出现意外的空白

时间:2019-02-03 02:30:03

标签: java format output

任务:打印一个平方和立方值的表。 预期输出:

number  square  cube
4       16      64  
5       25      125  
6       36      216  
7       49      343  
8       64      512  
9       81      729  
10      100     1000  

使用System.out.printf,我制作了几乎与预期输出类似的表,但是多维数据集列中有多余的空格。

int a,b;
Scanner input = new Scanner(System.in);
a = input.nextInt();
b = input.nextInt();
System.out.println("number  square  cube");
while(a<=b) {
    System.out.printf("%d %8d %8d  \n", a, a*a, a*a*a);
    a++;
}

我的输出:

number  square  cube
4       16       64  
5       25      125  
6       36      216  
7       49      343  
8       64      512  
9       81      729  
10      100     1000  

1 个答案:

答案 0 :(得分:0)

更改

System.out.printf("%d %8d %8d  \n", a, a*a, a*a*a);

System.out.printf("%-7d %-7d %-7d\n", a, a*a, a*a*a);

没有其他更改,我得到4到10的范围

number  square  cube
4       16      64     
5       25      125    
6       36      216    
7       49      343    
8       64      512    
9       81      729    
10      100     1000