我遇到了一个小问题,我得到了这行代码:
for(int i = 0; i<splits.length; i++){
if(splits[i].length() < 8){
remainder = splits[i];
}
else if(splits[i].length() == 8){
System.out.println("'"+splits[i]+"'");
byte[] bval = new BigInteger(splits[i], 2).toByteArray();
dos.write(bval);
}
}
问题出在这一行:
byte[] bval = new BigInteger(splits[i], 2).toByteArray();
以下是打印返回的内容:
'11111111'
'11111110'
'11111111'
'11111011'
'11111111'
'11111101'
'11111111'
'11111110'
'11111011'
'11111111'
'11111110'
所以它只是因为没有明显的原因而崩溃,因为11111110有多次。
为什么?