返回语句打印的值

Dav*_*ave 0 java

我想将所有信息作为for语句打印的输出返回.

例如:

public static int countNumbers(int x) {

    for (int i = 1; i <= x; i++) {
        System.out.println(i);
    }

    return SOMETHING; // This something should be the values for statements prints.
                      // For example, countNumbers(5) returns 12345.
}
Run Code Online (Sandbox Code Playgroud)

因此,当我在其他地方调用该方法时,我将得到输出.

所以:

int output = countNumbers(3);
//output = 123;
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

Pét*_*rök 5

使用a StringBuilder来累积结果.更新:然后使用Integer.parseInt以下命令将其转换为int :

public static int countNumbers(int i) {
    StringBuilder buf = new StringBuilder();

    for (int i=1; i<=5; i++) {
      buf.append(i);
    }
    return Integer.parseInt(buf.toString());
}
Run Code Online (Sandbox Code Playgroud)

请注意,这仅适用于相当小的值i(最多9个),否则会出现整数溢出.