Java 多维数组中rown的比较

Java 多维数组中rown的比较,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我有2个数组-1个多维数组,其中列描述答案,行描述学生。第二个是答案正确的解数组。 我需要编写一个方法来查找哪些行有相同的错误答案(某种类型的反作弊),该方法返回多维数组,其中索引表示学生,以及每个子数组列表 与该索引中的学生有类似错误答案的所有学生的索引 以下是我如何尝试做到这一点: int num-表示阈值,用于计算错误答案 public static int[][] findSimilarAnswers(int num,char[][] responses,char[] solutions

我有2个数组-1个多维数组,其中列描述答案,行描述学生。第二个是答案正确的解数组。 我需要编写一个方法来查找哪些行有相同的错误答案(某种类型的反作弊),该方法返回多维数组,其中索引表示学生,以及每个子数组列表 与该索引中的学生有类似错误答案的所有学生的索引

以下是我如何尝试做到这一点: int num-表示阈值,用于计算错误答案

public static int[][] findSimilarAnswers(int num,char[][] responses,char[] solutions){
    int[][] stats = new int[responses.length][];
    for (int i = 0; i < responses.length; i++) {
        int length = numMatches(responses,solutions,i,num);
        int[] wrongs = new int[length];
        for (int j = 0; j < wrongs.length; j++) {
            wrongs[j] = numWrongSimilar(responses[i],responses[i],solutions);
        }
        stats[i] = wrongs;
    }
    return stats;
}
方法
numMatches
找出哪些错误答案高于阈值

下面是一系列响应和解决方案

 char[][] responses = {  {'C', 'A', 'B', 'B', 'C', 'A'},
                            {'A', 'A', 'B', 'B', 'B', 'B'},
                            {'C', 'B', 'A', 'B', 'C', 'A'},
                            {'A', 'B', 'A', 'B', 'B', 'B'}
    };      

char[] solutions = {'C', 'A', 'B', 'B', 'C', 'C'};
使用此数组和阈值
3
时,它必须返回
[[]、[3]、[1]]

但是它返回
[],[3],[5]]

似乎我在这里写错了行
errors[j]=numwrongsimular(响应[i],响应[i],解决方案)


但是我应该如何正确地重写它呢?

。。。每一列都是独立的学生?那么
解决方案的长度不是4吗,因为每列有4个条目(因为有4行)?也许你把行和列弄混了。多维数组的地址为
数组[行][列]
。(行是水平的,列是垂直的。)我重写了描述。行是学生,列是答案,这更合理。。。每一列都是独立的学生?那么
解决方案的长度不是4吗,因为每列有4个条目(因为有4行)?也许你把行和列弄混了。多维数组的地址为
数组[行][列]
。(行是水平的,列是垂直的。)我重写了描述。行是学生,列是答案,这更有意义
 char[][] responses = {  {'C', 'A', 'B', 'B', 'C', 'A'},
                            {'A', 'A', 'B', 'B', 'B', 'B'},
                            {'C', 'B', 'A', 'B', 'C', 'A'},
                            {'A', 'B', 'A', 'B', 'B', 'B'}
    };      

char[] solutions = {'C', 'A', 'B', 'B', 'C', 'C'};