如何在整数值中的每个数字后插入一个整数

时间:2014-10-15 06:05:09

标签: java

嗨,我的整数值为1234

现在我想以编程方式在我的整数值中的每个数字之前插入一个像3这样的整数。

所以我希望最终结果为31323334

4 个答案:

答案 0 :(得分:3)

怎么做。

  1. integer转换为String
  2. Stringchar array
  3. 声明src char array尺寸
  4. 的新double char array
  5. Iterate超过char array
  6. 在每个char之前插入新数组和3。
  7. char arrayStringStringinteger

答案 1 :(得分:0)

我的建议。

使用StringBuilder

首先将1234追加到StringBuilder。然后使用for循环插入3

您可以使用stringBuilder.insert(i,"3");将元素添加到特定位置,i是索引,“3”是插入String

然后stringBuilder.toString()会给你结果。

答案 2 :(得分:0)

Java 8

<强>代码

   int number = 1234;

   //convert int to a list
   List<String> list = Arrays.asList(String.valueOf(number).split(""));

   //add 3 to each elements of the list and derive a String list as the result
   List<String> listContain3 = list.stream()
                                   .map( i -> "3"+i)
                                   .collect(Collectors.toList());

   //add all elements of the list together and convert it to the int 
   int result =  Integer.parseInt(String.join("", listContain3));

   System.out.println(result);

<强>输出

31323334

答案 3 :(得分:0)

不是说使用字符串不会起作用,但有一种有趣的方式可以做到:

    final int x = 1234;
    int a = 0;  //answer
    int s = 1;  //source
    int o = 1;  //old source 
    int d = 1;  //destination

    do 
    {
        o = s;
        s *= 10; 
        a += x % s / o * d;  //00000004  copy one digit from x to a
        d *= 10;
        a += 3 * d;          //00000034  copy a three
        d *= 10;
    }
    while (s < x);

    System.out.println("a = " + a);

打印a = 31323334