我有这样的表:
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];
}
}
}
答案 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