Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有更好的方法将这两个阵列一起使用以获得相同的结果?_Java_Arrays - Fatal编程技术网

Java 有没有更好的方法将这两个阵列一起使用以获得相同的结果?

Java 有没有更好的方法将这两个阵列一起使用以获得相同的结果?,java,arrays,Java,Arrays,我有一个称为元素的数字数组,还有一个称为选择的数组,它是一个由0和1组成的3 x 3数组。如果选择1,则表示将总和增加元素数组中相应的元素值。将所有元素添加到一起后,它会将它们除以所选元素的数量 我如何改进这段代码,因为它看起来很笨重,而且我不确定它是否非常有效 //Selection Array selection = new int [][]{ {0,1,0,}, {1,1,1,},

我有一个称为元素的数字数组,还有一个称为选择的数组,它是一个由0和1组成的3 x 3数组。如果选择1,则表示将总和增加元素数组中相应的元素值。将所有元素添加到一起后,它会将它们除以所选元素的数量

我如何改进这段代码,因为它看起来很笨重,而且我不确定它是否非常有效

   //Selection Array 
   selection = new int [][]{
                    {0,1,0,},
                    {1,1,1,},
                    {0,1,0}
                     };

//Calculate number selected
numberinselection=.....code to add up numbers in selection array above

//Add up selected elements

float sum=0;
sum +=2*elements[x][y][subject]*selection[1][1];
sum +=elements[x][yminus][subject]*selection[1][0];
sum +=elements[x][yplus][subject]*selection[1][2];              
sum +=elements[xminus][y][subject]*selection[0][1];
sum +=elements[xplus][y][subject]*selection[2][1];

sum = sum/numberinselection;

for(i=0;i即使这是正确的解决方案,您也应该做一些事情来解释为什么它是正确的解决方案。此外,元素数组比选择数组大得多/大小不同。
for(i=0;i<3;i++)
  for(j=0;j<3;j++)
      sum+=elements[i][j]*selection[i][j]