gpt4 book ai didi

java - 如何获取二维数组中每列相等匹配的数量?

转载 作者:行者123 更新时间:2023-12-02 11:33:15 25 4
gpt4 key购买 nike

我有一个名为 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,因为数组 CorrectAnswers 中有 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();
}
}

最佳答案

外部 for 循环条件错误 i < correctAnswer.length 。一定是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);
}

关于java - 如何获取二维数组中每列相等匹配的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49131636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com