假设我有一个整数,我首先将其转换为二进制字符串。
int symptomsM = 867;
String symptomsBit = Integer.toBinaryString(symptomsM);
在这种情况下,我会将symptomsBit转换为二进制数字1101100011。
但是我该如何进一步将其转换为具有相同内容的Int数组,例如 symptomsBitArr[] = {1,1,0,1,1,0,0,0,1,1}?
好的。这是我尝试过的。我知道symptomsBit.split(" ")不正确。但是不知道如何进一步改进它。
symptomsM = 867;
String symptomsBit = Integer.toBinaryString(symptomsM);
String[] symptomsBitArr = symptomsBit.split(" ");
System.out.println("symptomsBit: " + symptomsBit);
System.out.println("symptomsBitArray: " + symptomsBitArr);
int[] symptomsArray = new int[symptomsBitArr.length];
for (int i = 0; i < symptomsBitArr.length; i++) {
symptomsArray[i] = Integer.parseInt(symptomsBitArr[i]);
System.out.println("symptomsArray: " + symptomsArray);
}
我尝试了Idos以下建议的方式:
symptomsM = 867;
String symptomsBit = Integer.toBinaryString(symptomsM);
String[] symptomsBitArr = symptomsBit.split(" ");
System.out.println("symptomsBit: " + symptomsBit);
System.out.println("symptomsBitArray: " + symptomsBitArr);
int[] symptomsArray = new int[symptomsBitArr.length];
for (int i = 0; i < symptomsBitArr.length; i++) {
//symptomsArray[i] = Integer.parseInt(symptomsBitArr[i]);
symptomsArray[i] = Integer.parseInt(String.valueOf(symptomsBit.charAt(i)));
System.out.println("symptomsArray: " + symptomsArray);
}
但它仍然无法工作。以下是输出结果:
symptomsBitArray: [Ljava.lang.String; @2a139a55
symptomsArray: [I@15db9742