我正在尝试将一些数据保存到数组中,但不幸的是所有数据都保存到数组 [0] 中,而通常情况下不应该这样。
int j = 0;
while ( j < data.length ) {
float unbin = binary(data[2*j+1])+binary(data[2*j]);
float[] bin = new float[] {unbin};
print(bin);
j = j + 2;
}
它将所有数据写入bin[0]
中,我的代码有什么问题?
我该怎么写:
bin[j] = unbin ?
当 j = 0 时将数据保存在 bin[0] 中,依此类推?
这是更新后的代码:
int j = 0 ;
float[] bin1 = new float[(data.length/2)];
while (j < data.length ) {
if ( data[2*j+2] >= 0 ) {
String unhx =(binary(data[2*j+3])+binary(data[2*j+2])+binary(data[2*j+1])+binary(data[2*j]));
float unbin = ((float)unbinary(unhx)/100);
bin1[j/2] = unbin;
print(bin1[1]);
}
else if ( data[2*j+2] < 0 && data[2*j+3] < 0 ) {
data[2*j] = (byte)(-data[2*j]);
data[2*j+1] = (byte)(-data[2*j+1]);
String unhx =(binary(data[2*j+1])+binary(data[2*j]));
float unbin = ((-1)*(float)unbinary(unhx)/100);
bin1[j/2] = unbin;
print(bin1[1]);
}
j = j + 2;
}
最佳答案
您在每次迭代中创建一个新数组(长度为1)。您需要在 while 循环之前创建数组:
float[] bin = new float[...];
while (...) {
...
bin[j] = unbin;
}
(目前还不清楚这里的长度应该是多少 - 我怀疑您不想将 j
乘以 2 每次都将其增加 2。)
关于java:将数据保存到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034186/