【发布时间】:2016-05-07 16:29:15
【问题描述】:
假设我有一个整数,我先将其转换为二进制字符串。
int symptomsM = 867;
String symptomsBit = Integer.toBinaryString(symptomsM);
在这种情况下,我会在二进制中将症状位设置为 1101100011。
但是如何进一步将其转换为具有相同内容的Int Array,例如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
【问题讨论】:
-
您是否真的尝试过为此编写代码?你遇到什么问题了吗?
-
刚刚添加了我试过的代码。
-
有趣的是,有人突然对我提出的几乎所有问题都投了反对票。好吧,我没有参加任何 CS 课程,而是尝试自学。如果这让你们中的任何一个“专家”感到困扰,对此深表歉意。我非常感谢真正专家的每一个帮助和回答。
-
如果您被连续投票否决,系统可能会对其进行拍照并回滚;如果不是,您可以标记一个以引起适度注意。这也可能只是糟糕的一天。\
-
不是我的反对意见,但如果您的问题一直被反对,那么您应该考虑咨询有关 how to ask questions here 的帮助页面。
标签: java arrays string binary int