【发布时间】:2018-05-20 13:44:28
【问题描述】:
我有一个小问题。我需要将字符串拆分为 x 部分并将其添加在一起。编辑:如果我想用 x=3 拆分它,那么我需要 4 个部分,但如果我想用 x=4 拆分它,那么我需要 3 个部分。所以我的硬编码代码很糟糕。 我的 x 总是我的字符串长度的倍数(3 是 009056737152 的倍数 - 长度 12)
示例:字符串:“009056737152”和地址长度 = 3;意味着我必须在 3 个数字后拆分字符串。 009 056 737 152 然后我必须从右到左将这些加在一起:251 + 737 + 650 + 009 = 1647。我的代码实际上无法正常工作。还有其他想法吗?
int adresslength = 3;
String str = "009056737152"; System.out.println(str);
String result = str.substring(0,str.length() - adresslength - adresslength - adresslength );
String result2 = str.substring(adresslength,str.length() + -adresslength -adresslength );
String result3 = str.substring(adresslength + adresslength,str.length() + -adresslength );
String result4 = str.substring(adresslength + adresslength + adresslength,str.length() );
System.out.println(result); System.out.println(result2);System.out.println(result3);System.out.println(result4);
【问题讨论】:
-
哪个部分不工作?分裂?
-
字符串的长度是否总是地址长度的倍数?
-
是的,总是倍数,当我更改 int 地址长度时它不起作用。它仅适用于 int adresslength = 3
-
String result3 = str.substring(adresslength + adresslength,str.length() +adresslength -6);如果在您更改长度时它不起作用,因为在这里您硬编码了6,这仅在地址长度为3时才有效 -
谢谢我纠正了它,但它仍然只适用于 3 或 2
标签: java string split numbers add