java:将数据保存到数组中

标签 java arrays

我正在尝试将一些数据保存到数组中,但不幸的是所有数据都保存到数组 [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/

相关文章:

java - Hibernate分页机制

c - 取消引用 char* 时奇怪的数组/指针行为

ios - swift 。继承对象的集合

javascript - 在 Angular 7 中处理二维数组。 ngFor

java - 如何通过ID从SQLITE数据库中删除数据

java - 如何在单击按钮时打开 TilePane 中列出的图像

java - 在 View 中 Play Framework 帮助

python - 在 numpy 数组上使用就地操作时生成 TypeError?

C# 添加服务器用户到 List<>

java - 如何循环回到字符串的开头? super 技能,加密-解密