-2
public class Test {
    public static void main(String args[]) {
        int a = 0;
        int b = 1;
        int c = 0;
        int d = 2;
        int e = 0;
        String result;
    }
}

在这里,我希望结果值为 01020

我试过这种方式

int a = 0;
        int b = 1;
        int c = 0;
        int d = 2;
        int e = 0;


         String aString = Integer.toString(a);
         String bString = Integer.toString(b);
         String cString = Integer.toString(c);
         String dString = Integer.toString(d);
         String eString = Integer.toString(e);

         String result = aString+bString+cString+dString+eString;

请告诉我如何实现结果以将其打印为 01020

非常感谢你

4

6 回答 6

13

试试这个:

String result = String.format("%d%d%d%d%d", a, b, c, d, e);
于 2012-04-13T12:53:24.140 回答
7
System.out.println("" + a + b + c + d + e);

强制结果"" + ...类型为字符串,因此不会将这些值相加(只要您不使用括号)。

于 2012-04-13T12:55:40.303 回答
1

您可以使用 String.valueOf(a) 或 java.lang.Integer 的 toString() 方法。

于 2012-04-13T12:52:34.047 回答
1
public static void main(String args[]) {
    String result = String.valueOf(0) + String.valueOf(1) + String.valueOf(0) + String.valueOf(2) + String.valueOf(0);
}
于 2012-04-13T12:54:53.060 回答
1
public class Test { 
 public static void main(String args[]) { 
    StringBuilder sb = new StringBuilder();
    int a = 0; 
    int b = 1; 
    int c = 0; 
    int d = 2; 
    int e = 0; 
    sb.append(String.valueOf(a));
    sb.append(String.valueOf(b));
    sb.append(String.valueOf(c));
    sb.append(String.valueOf(d));
    sb.append(String.valueOf(e));
    System.out.println(sb.toString());
} 

}

于 2012-04-13T12:57:15.623 回答
0

最佳解决方案是取数字并乘以相应的以 10 为底的幂,因此它只需要创建一个 String 对象,而不是为每个数字创建一个并将它们连接在一起 - 这也会为每个连接创建一个新的 String 对象。

int a = 0;
int b = 1;
int c = 0;
int d = 2;
int e = 0;
String result = String.valueOf(a*1+b*10+c*100+d*1000+e*10000);
于 2012-05-01T08:38:14.233 回答