表格:
stu\question no        1 2 3 4 5 6 7
Student0        A B A C C D E
Student1        D B A B C A E
Student2        E D D A C B E
Student3        E D D A C B E
Student4        B B A C C D E
把学生的号码和相应的题目答案存到一个二维数组中,并和标准答案比较,得到学生答对了几题.
标准答案:D B D C C D A

解决方案 »

  1.   

    package array;public class TwoArray
    {
    private int[] rightNum=new int[5];
    public TwoArray()
    {
    Object[][] studentInfo={
    {"Student0","A","B","A","C","C","D","E"},
    {"Student1","D","B","A","B","C","A","E"},
    {"Student2","E","D","D","A","C","B","E"},
    {"Student3","E","D","D","A","C","B","E"},
    {"Student4","B","B","A","C","C","D","E"}
    };
    Object[] rArray={"D","B","D","C","C","D","A"};
    for(int i=0;i<studentInfo.length;i++)
    {
    for(int j=0;j<rArray.length;j++)
    {
    if(studentInfo[i][j+1].equals(rArray[j]))
    {
    rightNum[i]++;
    }
    if(j==rArray.length-1)
    {
    System.out.println("第"+(i+1)+"个学生答对了"+rightNum[i]+"道题");
    }
    }
    }
    }

    public static void main(String args[])
    {
    new TwoArray();
    }
    }
    没考虑效率问题!
    期待更好的回答!
      

  2.   

    考虑效率的话for()循环改为for each()循环
      

  3.   

    public class TwoArray{
        public void foo(){
            char[][] studentAnswers = {
                {'A','B','A','C','C','D','E'},
                {'D','B','A','B','C','A','E'},
                {'E','D','D','A','C','B','E'},
                {'E','D','D','A','C','B','E'},
                {'B','B','A','C','C','D','E'}
            };
            char[] key={'D','B','D','C','C','D','A'};
            for(int i=0;i<studentAnswers.length;i++){
                int rightNum =0;
                for(int j=0;j<studentAnswers[i].length;j++){
                    if(studentAnswers[i][j]== key[j]){
                        rightNum++;
                    }
                }
                System.out.println("第"+i +"个学生答对了"+rightNum+"道题");
            }
        }
    }
      

  4.   

    我的答案如下:// 学生实体类
    class Students {
        
        // 学生标识
        private String stu;    public String getStu() {
            return stu;
        }    public void setStu(String stu) {
            this.stu = stu;
        }
    }// 学生答案实体类
    class Results {    // 选择的答案
        private char[] res;
        // 答题者(学生)
        private Students students;
        // 所答试题(试题不光一道,用数组)
        private Subjects[] subjects;    public char[] getRes() {
            return res;
        }    public void setRes(char[] res) {
            this.res = res;
        }    public Students getStudents() {
            return students;
        }    public void setStudents(Students students) {
            this.students = students;
        }    public Subjects[] getSubjects() {
            return subjects;
        }
      
        public void setSubjects(Subjects[] subjects) {
            this.subjects = subjects;
        }
    }// 试题实体类
    class Subjects {    // 试题编号。
        private int id;
        // 正确答案。
        private char realRes;
        // 是否正确
         private boolean yes;    public int getId() {
            return id;
        }    public void setId(int id) {
            this.id = id;
        }    public char getRealRes() {
            return realRes;
        }    public void setRealRes(char realRes) {
            this.realRes = realRes;
        }    public boolean isTrue() {
            return yes;
        }    public void setBool(boolean yes) {
            this.yes = yes;
        }
    }// 执行答题的类
    class SubjectOperation {     // 所有答题结果。
         private Results[] res;
         
         SubjectOperation(Results[] res) {
             this.res = res;
         }
        
        // 答题,并返回答题结果(主要是把判断结果保存起来)。
        Results[] operate() {
            // 把正确答案和接收进来的答案比较。
             // 把记录保存起来,返回。
             return res;
        }    // 公布学生答题结果
        void print() {
            /* 显示每个学生答题结果。(为了方便显示就不处理异常了,可能发生空指针和索引越界异常) */
            
            // 输出 (stu\question no)
             System.out.print("stu\question no\t");
            // 输出试题编号
             if (res != null && res.length > 0) {
                Subjects[] subjects = res[0].getSubjects();
                for (int i = 0; i < subjects.length; i ++) {
                    System.out.print(subjects[i].getId() + "\t");
                }
            }
            System.out.println();
            
             for (int i = 0; i < res.length; i ++) {
                // 每个学生对应的所有题目。
                  Subjects[] subjects = res[i].getSubjects();
                // 每个学生。
                  Students students = res[i].getStudents();
                // 选择的答案。
                  char[] ress = res[i].getRes();            // 输出学生和他对每道题选择的答案。
                  for (int j = 0; j < subjects.length; j ++) {
                    System.out.print(students.getStu() + "\t" + ress[j] + "\t");
                }
            }
            
            System.out.println();
       }
    }// 测试类。
    class Test {
        public static void main(String[] args) {
            // 第一个学生。
            Students s0 = new Students();
            s0.setStu("Student0");
            Subjects sub0_0 = new Subjects();
            // ... 同样初始化。
            Subjects[] subs0 = {};
            Results res0 = new Results();
            res0.setStudents(s0);
            res0.setSubjects(subs0);        // 第二个学生。
            Results res1 = new Results();        // ...
            Results res2 = new Results();
            
            // ...
            Results res3 = new Results();
            
            Results[] res = {res0, res1, res2, res3};
            SubjectOperation so = new SubjectOperation(res);
            // 比较。保存答题结果。
            res = so.operate();
            // 打印你要的效果。
             so.print();
        }
    }
    由于时间关系,写得较粗糙。大概意思是那样。http://topic.csdn.net/u/20081130/15/2ee11370-774f-4e7f-9700-d22116b2e2dd.html
      

  5.   


    public class TestCj { public static void main(String[] args) {
    String[][] s={ {"Student0","A","B","A","C","C","D","E"},
    {"Student1","D","B","A","B","C","A","E"},
    {"Student2","E","D","D","A","C","B","E"},
    {"Student3","E","D","D","A","C","B","E"},
    {"Student4","B","B","A","C","C","D","E"},

    };
    String[] ss={"","D","B","D","C","C","D","A"};
    int count=0;
    for(int i=0;i<s.length;i++) {

    for(int j=0;j<s[i].length;j++) {
    if(s[i][j].equals(ss[j])) {
    count++;
    }

    }
    System.out.println(s[i][0]+"答对了"+count+"道题!");
    count=0;
    } }}