这题继承PAT1058,由PAT1058的代码改写而来。
我的主要核心思路是,把正确答案和学生写的答案读取出来,使用 charAt.(0) - 'a' 列为两个int数组。由于答案和选择的顺序一定是 a-b-c-d-e,所以可以直接使用 0-1-2-3-4的数组下标来表示。比较两个数组,两个数组都纯在某一选项时,把数据变为越界值 -1。 然后计算 非-1 的数量,表示选错或者未选到的选项,对其相应的
question[j].wrongTimes[realAns[k]]++;
最后比较所有的wrongTimes数值,进行输出。
import java.io.*;
import java.util.Scanner;
public class pat1073 {
static char[] chara = {'a', 'b', 'c', 'd', 'e'};
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StreamTokenizer st = new StreamTokenizer(br);
st.wordChars('(', '(');
st.wordChars('