java - 二维数组嵌套的列行而不是行列
问题描述
我正在准备一个基于多项选择测试的程序。
int[][] answers = {
{3, 4, 2, 5, 0, 2, 1, 3, 2, 4},
{0, 0, 2, 1, 5, 4, 1, 2, 3, 1},
{3, 3, 2, 5, 4, 1, 2, 5, 0, 3},
{3, 4, 4, 5, 3, 5, 4, 0, 3, 1}
};
int[] correctA = {3, 4, 2, 5, 4, 3, 1, 2, 3, 1};
有4个学生。我想知道哪个问题被选错、正确或留空了多少次。我发现哪个学生使用嵌套的 for 选择了错误、正确或留空了多少次(通过像第一行、第一列、 第一行第二列一样),但现在我不能这样做(现在我想就像第一行第一列,第二行第一列)。
例子:
第一个问题:
3名学生选对,1名学生选错
解决方案
您的内部循环将迭代学生。
您的外部循环变量应该是一个整数索引,从 0 到问题总数(最好这应该在某处定义为常量,但我们将使用correctA.length
)。
for(int question=0; question < correctA.length; question++) {
int correct = correctA[question];
for (int[] student : answers) {
int answer = student[question];
// Check answer==correct ?
}
}
推荐阅读
- firebase - Firebase Cloud Functions Node 8 的某些部分是否可以在 Beta 中正常工作,而其他部分则不能?
- javascript - 如何在javascript中检查字符串是否包含特殊字符或空格(但允许连字符,字符串末尾除外)?
- r - 如何在 R 中计算和识别数据框中的等效组
- c# - 基于 0 到 1 的时间膨胀(减速)及其影响量
- mongodb - Mongodb教程不排序字段{h}
- python - 条件测试无法在 pythonanywhere 和 python 和烧瓶中使用
- python-3.x - 将“null”计数为整数
- assembly - 汇编编程例行题
- database - 如何授予 Redshift 中所有模式的使用权限?
- html - CSS中的悬停半径问题