Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 - Fatal编程技术网

Java 如何获得二维数组中每列的相等匹配数?

Java 如何获得二维数组中每列的相等匹配数?,java,Java,我有一个名为correctAnswer的数组,它有10个值。每个值都是A、B、C或D 然后我有一个叫做studentAnswers的二维数组,它有3行10列。 我想做一个方法来检查每列有多少匹配项 例如: 正确答案:[B,C,A,A,B,A,C,D,A,C] 学生1结果:C,D,C,D,B,D,C,C,A,B 学生2结果:A,A,B,C,D,C,B,B,D,D 学生3结果:A,C,C,C,B,C,A,A,A,A 然后它应该打印: 答复1:0 答复2:1 等等直到它达到10,因为数组中有10个值

我有一个名为correctAnswer的数组,它有10个值。每个值都是A、B、C或D

然后我有一个叫做studentAnswers的二维数组,它有3行10列。 我想做一个方法来检查每列有多少匹配项

例如:

正确答案:[B,C,A,A,B,A,C,D,A,C]

学生1结果:C,D,C,D,B,D,C,C,A,B 学生2结果:A,A,B,C,D,C,B,B,D,D 学生3结果:A,C,C,C,B,C,A,A,A,A

然后它应该打印:

答复1:0 答复2:1 等等直到它达到10,因为数组中有10个值

以下是我目前的代码:

private char[] correctAnswer = { 'B', 'C', 'A', 'A', 'B', 'A', 'C', 'D', 'A', 'C' };

private char[][] studentAnswers;

// constructor
    public MultipleChoice(int numberOfStudents) {
    studentAnswers = new char[numberOfStudents][10];
    for (int i = 0; i < studentAnswers.length; i++) {
        for (int j = 0; j < studentAnswers[i].length; j++) {
            int tal = (int) (Math.random() * 4);
            char c = (char) (tal + 'A');
            studentAnswers[i][j] = c;
        }
    }
}

// my method
public void printCorrectAnswerPrQuestion() {
    for (int i = 0; i < correctAnswer.length; i++) {

        System.out.print("number of correct answers to question number " + correctAnswer[i + 1] + ": ");
        int correctAnswers= 0;

        for (int j = 0; j < correctAnswer.length; j++) {
            if (correctAnswer[j] == studentAnswers[i][j]) {
                correctAnswers= correctAnswers+ 1;
            }
        }
        System.out.print(correctAnswers);
        System.out.println();
    }
}
private char[]correctAnswer={'B','C','A','A','B','A','C','D','A','C'};
私人char[][]学生回答;
//建造师
公共多功能ICE(国际学生人数){
studentAnswers=新字符[numberOfStudents][10];
for(int i=0;i
外部for循环
i
的条件错误。它必须是
studentAnswers.length
。这将为每个学生提供正确答案的数量


如果你想知道正确回答问题的学生人数

for (int i = 0; i < correctAnswer.length; i++) {
    int correctAnswers = 0;
    System.out.print("number of correct answers to question number " + i + ": ");

    for (int j = 0; j < studentAnswers.length; j++) {
        if (correctAnswer[i] == studentAnswers[j][i]) {
            correctAnswers = correctAnswers + 1;
        }
    }
    System.out.println(correctAnswers);
}
for(int i=0;i
描述什么不起作用我想检查数组更正应答器中的每列有多少个匹配项,您所说的匹配项是什么意思?请使用示例输入编辑问题数组correctAnswers以值B开头。如果二维数组studentAnswers中的任何列以值B开头,则存在匹配项。然后我想计算数组中每个值的匹配数correctAnswers@user3740970请参阅我的最新答案。第一个将获得学生正确答案的数量。第二个将得到一个问题的正确答案的学生人数。