我怎么做69!比较大小数组的二维数组[69] [51]

时间:2016-02-03 05:44:36

标签: java arrays multidimensional-array 2d

该数组保存学生对调查的回应,我试图找出哪些学生的答案最多。对于69个响应,2D数组有69行,调查长50个问题,加上一个名称索引。

public static void mostMatches(String[][] results){

      int mostMatches=0;
      int mostMatchIndex=0;

      int mostMatchIndex2=0;

      int tempIndex=0;
      int matches=0;

      for (int k=0; k<results.length;k++){
          for(int i=1;i<results.length;i++){    
              matches=0;
                  for(int j=1;j<results[0].length;j++){
                        if (results[i][j].equals(results[k][j])){
                            matches++;
                            tempIndex=i;
                        }
                }  
            if (matches>=mostMatches ){
                mostMatches = matches;
                mostMatchIndex2 = mostMatchIndex;
                mostMatchIndex = tempIndex;
                }

        }
      }//end of k iteration

    System.out.print("Most matches with "+results[mostMatchIndex][0]+" was "+results[mostMatchIndex2][0]+" with "+mostMatches+" matches" );
} //end of MostMaches

此代码的结果只是告诉我最后两个数据条目是50/50匹配的最高匹配(没有一个匹配50/50)。有人能用我的逻辑错误指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

循环应该像

 for (int k=0; k<results.length-1;k++)
      for(int i=k+1;i<results.length;i++)   

你得到50/50只是因为我= k。