2017-07-25 114 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]);