2013-08-21 61 views
0

這個循環插入僱員ID,如1,2,4,.. 30.獲得從int,而不是1:1的01在for循環中

for(int i=01;i<31;i++){ 
    Employee e = new Employee(); 
    e.setEmpId(i); 
    aList.add(e); 
} 

然而,我所需要的IDS在格式01, 02,03 ..等等。 有沒有簡單的方法可以實現這一目標?

+0

爲什麼downvote?謹慎發表評論 – happybuddha

+0

我還沒有downvoted,但它真的讓我20秒鐘谷歌和找到解決方案。我懷疑這起到了一個作用。 –

+0

當然。我懂了。它是重複的。 – happybuddha

回答

2

整數將始終保存爲'1'。如果你想顯示爲「01」,那麼你可以使用這樣的事情

public static void main(String[] args) { 
    int i = 2; 
    DecimalFormat twodigits = new DecimalFormat("00"); 
    System.out.println(twodigits.format(i)); 
} 

輸出:

02 
+0

'「00」'就足夠了。 – Marcelo

+0

@Marcelo:你說對了,我已經改變了。 –

5

ints沒有格式。他們是數字。字符串有一個格式。您可以使用NumberFormat或DecimalFormat格式化數字。

+0

感謝您的洞察力。我想知道我還有什麼可以表達的是,我希望整數格式與我得到的格式不同。 – happybuddha

4

這更多的是一種格式問題的。如果id是一個數字,Empolyee.toString()或類似的函數可以根據需要格式化該id。

String.format("%02d", id); 

歸零PADD的ID爲2米的地方爲你

0

使用字符串,而不是INT。

String istr = ""; 
for(int i=01;i<31;i++){ 
    Employee e = new Employee(); 
    if(i<10) 
    istr = "0" + i; 
    else 
    istr = "" + i; 

    e.setEmpId(istr); 
    aList.add(e); 
} 

當然你需要有setEmpId(String s)方法。