【发布时间】:2012-04-22 08:03:27
【问题描述】:
我在StudentList list1对象中创建了一个ArrayList<Student>,即saving[Serialization]一个学生的信息(name,id,age,gpa,etc)到list1,这样list1[0] = 1st student's info,然后是list1[1] = 2nd student's info等等.
还有一个新的ArrayList<Subject> 对象SubjectList list2 用于索引为0 的学生的所有科目,例如list2[0]=(java,math,etc) [对于第一个学生] list2[1]=(c++,english,etc) [对于第二个学生] 保存在一个文件中。
我想在学生信息旁边添加主题:
list1 index[0]=第一个学生信息,index[1]=第一个学生的科目。
index[2]=1st Student info,index[3]=1st Student's Subjects.
我被这个简单的问题困住了。请帮忙。
package studentPanel;
public class Main {
public static void main(String[] args){
Student s = new Student(null, null, null, null);
s.stulist.add(new Student("Smith", "1", "M", "3"));
s.stulist.add(new Student("Jenny", "2", "F", "4"));
s.stulist.add(new Student("Roger", "3", "M", "2"));
System.out.println(""+s.stulist);
for(int i=0;i<s.stulist.size();i++){
Student search = s.stulist.get(i);
if(search.toString().contains("Jenny")){
System.out.println("Found"+i);
s.addSubject(s.new Subject("OOP","007"));
s.addSubjects(s.sublist);
System.out.println(""+s.stulist.get(i)+""+s.sublist);
}
else System.out.println("Not Found"+i);
}
System.out.println(""+s.stulist);
}
}
package studentPanel;
import java.util.*;
public class Student {
public String name, id, gender, cgpa;
ArrayList<Subject> sublist = new ArrayList<Subject>();
ArrayList<Student> stulist = new ArrayList<Student>();
public void addSubject(Subject new_subject) {
sublist.add(new_subject);
}
public void addSubjects(List<Subject> subjects_list) {
for (Subject s : subjects_list)
addSubject(s);
}
public Student(String name, String id, String gender, String cgpa) {
this.name = name;
this.id = id;
this.gender = gender;
this.cgpa = cgpa;
}
public String toString() {
return "Name: " + name + "\tID: " + id + "\tGender: " + gender + "\tCGPA: " +
cgpa+ "\n";
}
public class Subject {
public String cname,cid;
public Subject(String cname, String cid) {
this.cname = cname;
this.cid = cid;
}
public String toString() {
return "Course: " + cname + "\tCode: " + cid;
}
}
}
我就是搞不懂,应该是添加主题`s.addSubject(s.new Subject
("OOP","007"));`给学生珍妮。
输出应该是这样的:
[姓名:Smith ID:1 性别:M CGPA:3
,姓名:Jenny ID:2 性别:F CGPA:4
,姓名:Roger ID:3 性别:M CGPA:2 ]
未找到0
找到1
[姓名:Jenny ID:2 性别:F CGPA:4][课程:OOP,代码:007]
未找到2
[姓名:Smith ID:1 性别:M CGPA:3
,姓名:Jenny ID:2 性别:F CGPA:4 [课程:OOP,代码:007]
,姓名:Roger ID:3 性别:M CGPA:2 ]
【问题讨论】:
-
如果我理解正确,您有 2 个列表。一个填充了 Student 对象,另一个填充了 String 对象。并且您希望将这些添加到一个新列表中,其中 newlist[evens] = Students 和 newlist[odds] = Strings。这是正确的吗?
-
如果您的代码太乱而无法发布,请创建一个简短但完整的示例,不会太乱而无法发布...
-
学生信息中为什么不添加学科信息?
-
@JonSkeet 可能是我可以在此处附加 *.java 文件。还不知道如何。
-
@rsp 这就是我想要做的。简单的程序“添加学生姓名,添加科目,显示学生信息,同时询问为该学生添加更多科目”,就像课程注册选项一样。