以下功能非常简单。它将采用输入字符串。然后浏览字符串并将其拆分为4个字符的块,然后将每20个字符分成不同的行。
我遇到的奇怪的事情是这个函数在不同平台上的处理方式不同。例如,如果我在我的Android手机上运行这个,我得到了正确的结果,一眼就看起来很奇怪,因为我会在第一个块中获得5个字符。这是我的计算机上用oracle java发生的事情。所以我将i的第一个声明更改为i = 1,这可以在我的计算机上运行,但不能在我的Android手机上运行。
为什么?
public String fixString(String input) {
int i = 0;
String result = "";
for(String s : input.split("")) {
result += s;
if(i != 0 && i % 4 == 0) {
result += " ";
if(i % 20 == 0) {
result += "\n";
}
}
i++;
}
return result;
}
输入字符串:
tfJ8CRxisuQQGY3KRcv3r8QRxXVAmHwjL3FvAwjAwLLbMvtcVrUEBLuCzMYW7JJ6n6kVJwmzP 8Jqyjx4PiFscTuzEeaCcYLeaBT3tV5kr8Z
PC输出:
tfJ8C Rxis uQQG Y3KR cv3r
8QRx XVAm HwjL 3FvA wjAw
LLbM vtcV rUEB LuCz MYW7
JJ6n 6kVJ wmzP 8Jqy jx4P
iFsc TuzE eaCc YLea BT3t
V5kr 8Z
Android输出:
I/System.out: tfJ8 CRxi suQQ GY3K Rcv3
I/System.out: r8QR xXVA mHwj L3Fv AwjA
I/System.out: wLLb Mvtc VrUE BLuC zMYW
I/System.out: 7JJ6 n6kV Jwmz P8Jq yjx4
I/System.out: PiFs cTuz EeaC cYLe aBT3
I/System.out: tV5k r8Z
答案 0 :(得分:0)
似乎EJP对分裂功能是正确的。 更改了我的代码以获取char数组,而且工作正常。
public String fixString(String input) {
int i = 1;
String result = "";
for(char s : input.toCharArray()) {
result += s;
if(i != 0 && i % 4 == 0) {
result += " ";
if(i % 20 == 0) {
result += "\n";
}
}
i++;
}
return result;
}