意外的空白空间格式化输出

问题描述 投票:1回答:1

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

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  
java format output
1个回答
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   
© www.soinside.com 2019 - 2024. All rights reserved.