我在链表节点中有这个号码。它是27位数:980089673400089200098129823
我需要一种方法在新列表(节点中的每4个数字)中将其分段如下:
27 - > 9800 - > 8967 - > 3400-> 0892 - > 0009 - > 8129 - > 823
答案 0 :(得分:1)
1)将数字转换为字符串。
2)将字符串的长度除以4.(不要硬编码4,配置它)
3)找到许多子集字符串并将它们插入新列表中。
非常简单,我希望你不是在找人为你编码。 希望它有所帮助。
String str = String.valueOf(<your integer>);
int strLength = str.length();
int subStrCount = strLength/4;
List newList = new LinkedList();
for(int i=0;i<subStrCount;i++){
newList.add(str.subsctring(i*0, (i+1)*4));
}
newList.add(subStrCount*4, strLength);
答案 1 :(得分:0)
这段代码可以解决问题:
for (int i = 0; i*4 < str.length(); i++) {
if (((i * 4 + 4) >= str.length())) {
System.out.println(str.substring(i * 4, 27));
} else {
System.out.println(str.substring(i * 4, i * 4 + 4));
}
}
如果需要转换为int使用:
int n = Integer.parseInt("123");
答案 2 :(得分:0)
String s = node.value();
int [] numbers = s.length%4 ? s.length/4 : s.length/4 + 1;
for (int i=0; i<numbers.length; ++i) {
numbers[i] = Integer.parseToInt(s.substring(i*4, 4));
}
return numbers;
数字将包含所有数字