2011-10-10 60 views
0

在PHP中,您可以使用。=連接字符串,以便字符串隨着添加到其中的內容而增長。我想知道這是否可以在java中完成?我在這段代碼中做了一些測試,把所有的數字都加入到一個長字符串中,但不能工作!它能以其他方式完成嗎?java中的連接?

int number = 100; 
for (int x = number; x <= 2; x--) { 

    resultat = resultat + Integer.toString(x); 
} 
+0

你什麼輸出? – rohit89

+1

這段代碼不會運行嗎?條件是x <= 2,x被設置爲100.或者我錯過了什麼? – Igor

+0

是的,你是對的!它現在工作更好! –

回答

3

是,+=在Java是在PHP .=

result += Integer.toString(x)。您只需要在循環上方定義String resultat = ""。 (正如其他人指出的那樣 - 修復你的循環條件,它總是假的)

但是,在循環中,你最好使用StringBuilder。字符串是不可變的,所以每次使用+時都會創建一個新字符串(對於較大的循環,這可能效率較低)。相反:

StringBuilder builder = new StringBuilder(); 
for (...) { 
    builder.append(x); 
} 
String result = builder.toString(); 
2

x <= 2是從不爲x = 100真的......

你要的條件更改爲x >= 2

但是你可以使用+=

1

您的循環只需要一點工作的。您目前得到x <= 2時應該是x >= 2,否則循環永遠不會運行,因爲100永遠不會小於2!

1

,因爲你得到了終止條件的for環錯誤的它不會在你的榜樣工作。你應該把它寫這樣的:

String resultat = ""; 
int number = 100; 
for (int x = number; x >= 2; x--) { 
    resultat = resultat + Integer.toString(x); 
} 

一個for循環大致是while循環與一些小演員。這就是爲什麼你必須寫這樣的條件。

+0

謝謝!難怪它不工作! –

1

嘗試使用StringBuilder.append這樣

int number = 100; 
    StringBuilder builder = new StringBuilder(); 
    for (int x = number; x <= 2; x--) { 
     builder.append(x); 
    } 
    String result = builder.toString(); 
+0

謝謝! Stringbuilder對我來說很有趣,也是新聞。 –