【发布时间】:2012-02-02 00:27:35
【问题描述】:
好的,我在本节中的程序从 studentAnswer 字符串数组中获取一行数据,其值类似于 TTFFTFTFTF。我应该接受这个,并将它与一个可能看起来像TFFFTFTFTF 的键数组进行比较。一个学生参加了一个测验,我的程序计算出正确的分数。
我的意图是使用单独的点数组来查找学生的数字成绩。 studentAnswer 的索引指的是特定的学生。所以studentAnswer[i] 是TTFFTFTFTF。我使用子字符串将每个单独的 T/F 与 key[] 中的正确答案进行比较,每个索引中都有一个 T/F。然后,如果他们的答案是正确的,我将在points[] 的相关索引中加 1,然后将找到 points[] 的总和以找出十分之二的数字等级。
我的问题是字符串origAns,用于定义学生的原始答案字符串,出现Java错误找不到符号。我尝试将 origAns 的实例化放在每个不同的 for 循环中,但我无法让程序工作。 Int i 旨在跟踪每个特定的学生——我有四个并行数组,它们都将记录学生的 ID 号、数字等级、字母等级和原始答案。这就是i 的意图,通过每个学生。然后j 应该用于遍历这些原始学生答案字符串中的每一个并将其与正确答案进行比较......
从逻辑上讲,我将它放在哪里对我来说是有意义的,但 java 不同意。请帮助我理解这个错误!
for (int i = 0; i < studentAnswer.length; i++){
String origAns = studentAnswer[i];
for (int j = 0; j < key.length; j++){
if (origAns.substring[j] == key[j]){
//substring of index checked against same index of key
points[j] = 1;
}
if (origAns.substring[j] != key[j]){
points[j] = 0;
}
}
}
【问题讨论】:
-
比较
origAns.substring[j] == key[j]只比较引用...你需要使用key[j].equals(origAns.substring[j]) -
它应该是
origAns.substring(j)...()而不是[]
标签: java arrays variables loops