2017-07-25 88 views
0

我无法找到正确的格式输出打印到使用System.out.format()我的代码的控制台(使用左缩进)格式化操作在Java控制台输出打印

System.out.format("%03d%-15s%18d%n",ID[i],name[i],salary[i]); 

格式化代码不提供按预期完成产出。

============================================ 
       Employee Details    
============================================ 
    ID   Name   Salary  
============================================ 
001john      12000 
002clark      13000 
003nancy      14000 
004joe       15000 
005mark      17000 

这个代码是没有缩进,其输出是

System.out.format("%03d%15s%18d%n",ID,name,salary); 

============================================ 
       Employee Details    
============================================ 
    ID   Name   Salary  
============================================ 
001   john    10000 
002   markus    12000 
003   clark    14000 
004   nancy    13000 
005   joe    14000 

但所需的输出是

============================================ 
       Employee Details    
============================================ 
    ID   Name   Salary  
============================================ 
    001   john   10000 
    002   markus   12000 
    003   clark   14000 
    004   nancy   13000 
    005   joe    14000 

有人能指出可以格式化应该如何改变,以获得上述提到所需的输出,以便每个变量都保持缩进。

+0

为什么不使用只是'\ t'? – Arvind

+0

使用您在循环中用于打印员工详细信息的相同格式化程序,就像您使用'ID Name Salary'(字符串文字) –

回答

0

您可以使用选项卡(\t)来格式化java中控制台的输出打印。

像:

System.out.format("%03d\t\t\t%-15s\t\t\t%18d\t\t\t%n",ID[i],name[i],salary[i]);