2011-10-10 48 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对我来说很有趣,也是新闻。 –