程序中有5个数组, userAnswer[],correctAnswer[],selectQuestionID[],errorQuestion[] 
userAnswerID ==selectQuestionID 
errorQuestion != selectQuestionID 
问题:现在要建立起errorQuestion与正确答案和用户答案的信息 
求教如何实现这个功能 

解决方案 »

  1.   

    写清楚,把数组名注释出来,还有我只看见4个数组,跟你说的5个不一样。还有这两句;
    userAnswerID ==selectQuestionID 
    errorQuestion != selectQuestionID  
    解释下。
    逻辑解释一下。
      

  2.   

    写错了是4个,
    程序运行起来 自动抽选试题放到selectQuesionID当中,同时把正确答案也给抽取出来
    所以这里关系是 
    selectQuestionID ==correctAnswer
    用户进行作答的时候记录用户回答的信息放到userAnswer中 userAnswer是一个字符数组
    当用户回答错误的时候记录用户那道题目回答错了放到errorQuestionID中最后要求输出回答错误的题目信息,与用户回答和正确答案的信息
      

  3.   

    恩,我觉得errorQuestionID存的是你选择的selectQuesionID的数组.
    Object[][] map = new String[errorQuestion.length][3];
    for(int i = 0;i<errorQuestion.length;i++){
     map[i][0] = errorQuestion[0]; map[i][1] = correctAnswer[selectQuesionID[errorQuestionID[i]]];
     map[i][2] = userAnswer[i];
    }
    如果errorQuestionID存的是源题目的编号。
    Map map = new HashMap();
    for(int i = 0;i < selectQuestionID.length;i++ ){
    if(!userAnswer[i].equals(correctAnswer[i])){
    map.put(selectQuestionID[i],correctAnswer[i],userAnswer[i]);
    }  
    }
    或者
    Map map = new HashMap();
    int count = 0;
    for(int i = 0;i < errorQuestionID.length;i++ ){
    map.put(errorQuestionID[i],correctAnswer[errorQuestionID[i]],userAnswer[errorQuestionID[i]]);
    }  
    }
      

  4.   

    map[i][1] = correctAnswer[selectQuesionID[errorQuestionID[i]]];
    这样是错的因为correctAnswer数组的长度是确定了的 
    而selectQuestionID里面存放的是问题的ID 返回过来会超出correctAnswer的长度
      

  5.   

    理解错了,如果你问题还没解决,把实际数据样本贴一下,帮你看看。
    如果errorQuestionID存的是你选择的selectQuesionID的数组的下标.
    Object[][] map = new String[errorQuestion.length][3];
    for(int i = 0;i<errorQuestion.length;i++){
     map[i][0] = selectQuestionID[errorQuestion[i]];
     map[i][1] = correctAnswer[errorQuestion[i]];
     map[i][2] = userAnswer[errorQuestion[i]];
    }最好还是贴下数据样本吧,一个示例就好。