【问题标题】:Java array compariosnJava数组比较
【发布时间】:2016-03-06 13:32:32
【问题描述】:

我想使用 for 循环将数组的当前元素与其之前的元素进行比较。 例如,我有一个包含元素 1,2,3 的数组,下一次它将包含元素 1,3,4,第三次它包含元素 1,5,6 等等,所以每次我想比较数组元素时1,2,3 比较 1,3,4 然后 1,3,4 比较 1,5,6

public class test {

   int[] temp=null;
   int depth_data_count=0;

   public void onDepthFrameEvent(short[] depth_frame, byte[] player_index, float[] XYZ, float[] UV) {
      compare_depth_data(XYZ);
   }

   public void compare_depth_data(float[] depth_data) {
      if(depth_data_count==0) {
         temp=new float[depth_data.length]; temp = depth_data.clone(); 
      } 
      for(int i=0;i<depth_data.length;i++) { 
         if (depth_data[i]>temp[i]) { /* ..... */ } } 
      }
   }   
}

我在这个 compare_depth_data 函数中得到了数组的最新值。 我创建了一个全局数组 temp 并检查是否是第一次将数据保存到这个临时数组并比较每个元素...我不知道第二次要做什么

【问题讨论】:

  • 除了创建方法声明之外,您还尝试过什么?
  • if(depth_data_count==0) { temp=new float[depth_data.length]; temp = depth_data.clone(); } for(int i=0;itemp[i]) { } }
  • 因为数组不会保存以前的变量,所以把它们保存在别处。
  • 我创建了一个全局数组 temp 并检查是否是第一次将数据保存到这个临时数组并比较每个元素...我不知道该怎么做第二次

标签: java arrays


【解决方案1】:

首先,

为什么你试图错误地转换为浮点整数,将其作为浮点数分配给整数数组?您正在点击“不兼容的类型”。我建议你开始使用 IDE。

您的整数“temp”是整数类型。 .length 是一个变量 int。 分配它。

如果你想比较两个数组,其中一个每次都在变化,你需要有 2 个数组结构。第一个将记录以前的值,第二个将用作要比较的新值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2016-08-26
    相关资源
    最近更新 更多