嗨,我的整数值为1234
。
现在我想以编程方式在我的整数值中的每个数字之前插入一个像3
这样的整数。
所以我希望最终结果为31323334
。
答案 0 :(得分:3)
怎么做。
integer
转换为String
String
至char array
char array
尺寸double
char array
Iterate
超过char array
char
之前插入新数组和3。char array
至String
和String
至integer
。答案 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