2015-07-11 101 views
1

我使用Eclipse,所以我對運行配置這樣的說法:如何將數組字符串的整個值與空格一起復制到單個字符串中?

你好你好你好

顯然,這是對字串[] args。有沒有一種方法可以連接所有的數組值ALONG與它們之間的空白空間?

我試着將數組拼接成一個char數組,使用toString方法(出於某種原因的垃圾值),甚至是StringBuilder。但它總是給予價值,但不是空間本身。 @@

回答

4

可以使用的string.join方法:

String[] arr = {"hello", "HELLO", "hello"}; 
System.out.println(String.join(" ", arr)); 

String#join是Java 8

可使用StringBuilder的:

StringBuilder sb = new StringBuilder(); 
String sep = ""; 
for (String str : arr) { 
    sb.append(sep); 
    sb.append(str); 
    sep = " "; 
} 
System.out.println(sb.toString()); 
+2

但是,這就是Java 8,權利之間的空間? – Gosu

+0

謝謝,忘了添加該評論。 – DTing

1

那麼,如果我理解正確你的問題,你有這樣的陣列:

string[] str = new string[3] { "Hello", "HELLO", "hello"};

如果你希望他們有各自的話,你可以這樣做

string output = ""; 

    for(int i = 0; i< str.length; i++) 
    { 
      if(i + 1 != str.length) 
      { 
       output += str[i] + " "; 
      } 
      else 
      { 
       output += str[i]; 
      } 
    } 
+2

這不是一塊C#代碼嗎? – wings

+0

在我看來,它也應該證明Java的重要性。 –

+0

這段代碼只是一些問題,即使它是一個數組,也可以使用'str'。所以當你使用'output + = str [i] +「」;'時,你似乎忘記了'index'值。而且,它是Java,因此,'Length'應該是'length',小'l'不是大寫'L':-)。雖然其餘的邏輯是正確的 –

1
try this 

public static void main(String[] args) 
{ 
    String concated = ""; 
    for(String arg:args){ 
     concated+=arg+" "; 
    } 

    System.out.println(concated); 
} 
相關問題