表格:
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
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
{
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();
}
}
没考虑效率问题!
期待更好的回答!
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+"道题");
}
}
}
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
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;
} }}