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