首先,将 0 附加到结果数字上,直到长度是输入数字的倍数( fx int a = 3
-> 数字的长度应该是数字 3 的倍数)。然后我必须将数字分成长度的部分a
(即3
)。
例如:
int a = 3
和号码开头:9056737152
如果数字在没有前导零的情况下拆分,则结果部分之一的长度将为 1:
9056737152 -> 905 673 715 2
因为1 <> a
,需要将零添加到左侧,直到拆分导致所有部分的长度为a
,即
009056737152 -> 009 056 737 152
009056737152 -> 009(第 1 节) 056(第 2 节) 737(第 3 节) 152(第 4 节)
接下来,需要颠倒交替的部分,然后将所有部分加在一起。例如,颠倒第2节和第 4节:
251 + 737 + 650 + 009 = 1647
有任何想法吗 ?我在第一步,尝试添加零:
int num = 5;
DecimalFormat df = new DecimalFormat("00000");
System.out.println(df.format(zahl));
问题是数字5
不能是静态的。
另一种方法:
int number = 9;
String str = String.format("%04d", 9); // 0009
System.out.printf("original number %d, numeric string with padding : %s", 9, str);
- % 表示它是一个格式化指令
- 0 是一个标志,表示用零填充
- 4 表示格式化字符串的长度。这将确保添加正确数量的零
- d 代表十进制,这意味着下一个参数应该是一个整数值,例如字节、字符、短、整数或长。
我需要将 04 (从格式 - "%04d"
)更改为我的整数a
。