如何从函数传递给依赖函数的数组

时间:2014-05-10 07:05:56

标签: java

我有这样的表:

alphabet     binery      integer      d(in rad sin(integer)*100         e       f
a1            1010       10           41                              70.6     46.3
a2            0011       3            14                              57.06    37

我创建了4个函数:void alpha_int(),int binery(int a),float d(int x),float e(float b),float f(float f)。 我的一个数组在每个函数中都是旋转的,首先我正在进行索引计算直到函数e(),但是我无法将完整数组发送到函数f(),因为它正在进行平均。

代码strtgy:

//----------------
//skipped theportion
//.............
void alpha_int()
{
    int [] a = new int [100];

    for(int i=1; i<=6;i++){
    {
       System.out.print("a"+i+"  "+binery(arra[i])+" "+array[i]+" "+d(array[i])+" "+e(d(array[i])));
    }

  f(a(d(array));   // gives error 
}
int binery( int a){
 // successfully complete
  return a;
}
float d( int x){
// did som work 
 return x;

}
 float e(float b){
// operations peformed
   return b;
}

 float f(float f){   // problem in sending complete array
     for( int i=1; i<f.length;i++){
         for(int j=1;j<f,length;j++){
            f[i]= f[i]+f[j]; 
         }
     }

}

2 个答案:

答案 0 :(得分:1)

那是因为您已将参数定义为类型float,这是一个32位浮点数,而不是数组。请尝试将其定义为float[]int[]

此外,您必须return f内的某些内容,因为函数的类型定义为float

答案 1 :(得分:0)

  

我的一个数组在每个函数中循环,

您将各种类型的数据存储到一个数组中?您可以转而使用HashMap<>并使用键值对。然后,您的方法可以根据键检索不同的数组。像这样:

HashMap<String, int[]> map = new HashMap<String, int[]>();  

然后使用它:

binary( map.get("binary") );  

稍后,将结果设置为:

map.put("binary",yourArrayName);  
return someValueBasedOnComputation;

看起来更清洁,在我有限的知识中:) 资料来源:Store an array in HashMap