import java.awt.Container;
import javax.swing.*;
public class Grade extends JApplet{
  int sum=0;
  char [][] grade={{'A','B','A','C','C','D','E','E','A','D'},
                   {'D','B','A','B','C','A','E','E','A','D'},
                {'E','D','D','A','C','B','E','E','A','D'},
           {'C','B','A','E','D','C','E','E','A','D'},
           {'A','B','D','C','C','D','E','E','A','D'},
           {'B','B','E','C','C','D','E','E','A','B'},
           {'B','B','E','C','C','D','E','E','A','B'},
           {'B','B','E','C','C','D','E','E','A','B'},
                   };//这是8名学生对10道问题的答案情况  
  char [] key=new char []{'D','B','D','C','C','D','A','E','A','D'};
  //考试答案  JTextArea outputArea;
  String output;
  int student,answer;
  public void init()
  {
    student=grade.length;
    answer=grade[0].length;
    
    outputArea=new JTextArea();
    Container container=getContentPane();
    container.add(outputArea);
    
    output+="\nThe grading result is:\n";
    int i;
    for(i=0;i<student;i++)
    {
      int j;
    for(j=0;j<answer;j++)
       {
         if(grade[i].equals(key))
                 sum++;
                 //对每名学生的答案与标准答案进行比较
                   //如果答对一道题,加1分
                   //调试结果却全是0
}
      int result;
      result=sum/answer;   
  output+="Student # " +i+ "\'s :" +result+ "\n";    outputArea.setText( output ); 
    }
}//end method
    
}//end class

解决方案 »

  1.   

    sorry 那个result的使用真是不知道自己哪根筋搭错
     请大侠忽略 直接输出sum即可
      

  2.   

    这样比较char才对
    grade[i][j]==key[j]
    你比的是是否相同引用对象了 而且还是二维比一维
      

  3.   

    自己已经改好啦
    原来应该用if(grade[i][j]==key[j]) 比较
      

  4.   

     int i; 
        for(i=0;i <student;i++) 
        { 
           for(int j=0;j<answer;j++)
              {
                if(grade[i][j]==key[j])
                sum++;
              }
         }