2015-10-11 25 views
2

我使用for循環打印一組整數,但我不想在最後一個數字後面的最後一個空格。我注意到String有類似trim的東西,但是我一直無法找到一個線程來討論循環中整數的修剪方法。在java中是否存在整數循環的「修剪」類似的方法?

這裏是我的代碼非常小片斷:

for(int i = 0; i < size.length; i++){ 

     System.out.print("Enter the numbers you want in the array "); 
     size[i] = scanner.nextInt(); 

    } 

    min = size[0]; // I had to initialize this after the program knew how big the array would be 

    for(int i = 0; i < size.length; i++){ 
     System.out.print(size[i] + " "); 
    } 
+0

請在問題中包含您的源代碼。 您可能想要做 'String.valueOf(yourInteger).strip()' –

+0

在數字的末尾有什麼空格?如果你只是印刷他們,最後沒有空間。分享您的代碼,以便我們可以看到發生了什麼。 –

+0

我不明白這個問題。如果您投下了投票,請添加評論。 –

回答

2

你可以只讓您的打印條件:

for(int i = 0; i < size.length; i++){ 
    if(i == size.length -1){ 
     System.out.print(size[i]); 
    } else { 
     System.out.print(size[i] + " "); 
    } 
} 

不過,我會鼓勵使用迭代器的語法:

boolean first = true; 
for(int val : size){ 
    if(first){ 
     System.out.print(val); 
     first = false; 
    } else { 
     System.out.print(" " + val); 
    } 
} 
+0

完美。我不習慣迭代器的語法。我們還沒有在課堂上講過,但希望很快。謝謝! – Tyler

+0

我喜歡使用它,因爲它可以幫助我避免列表迭代錯誤,並且這意味着我不需要在我的代碼中包含名爲'i'和'j'的整數:) –

0
String output = ""; 
for(int i=0; i<10; i++){ 
    output += i + " "; 
} 
System.out.println(output.trim()); 
+0

在StringBuilder或StringBuffer中建立一個字符串要快得多。當在單個表達式中完成所有操作時,編譯器會爲您執行此操作,但不會跨越多個語句。 – Jerry101

+0

@ Jerry101我同意,但爲了簡單起見,我使用了字符串連接。 – hermitmaster

+0

好點。編程初學者稍後會更好地學習這些細節。 – Jerry101

0

我會推薦Tyl呃和hermitmaster的解決方案,但如果你沒有空間問題,你可以創建一個新的字符串,並繼續連接整數,並使用trim()方法擺脫前後空白,並打印出來。

for(int i = 0; i < size.length; i++){ 

    System.out.print("Enter the numbers you want in the array "); 
    size[i] = scanner.nextInt(); 

} 

min = size[0]; 

String result = ""; // temporary variable to store integers. 

for(int i = 0; i < size.length; i++){ 
    result += size[i] + " "; // concatenate integers to string 
} 
System.out.println(result.trim()); // removes leading and trailing white space. 
相關問題