public static void main(String[] args) { Colleges c = new Colleges(); Student s = new Student(); Teacher t = new Teacher(); c.setName("***科技学院"); c.setNum(16000); c.setArea(800); s.setName1("秦*盛"); s.setGrade("测绘B111"); s.setMajor("建筑工程学院"); t.setName("王老师"); t.setCurriculum("Java 编程"); System.out.println(c.getName() + " 有 " + c.getNum() + "名学生" + "占地面积" + c.getArea() + "亩"); System.out.println(t.getName() + "在" + c.getName() + "教授" + t.getCurriculum()); System.out.println( s.getName1() + "就读于" + s.getMajor() + s.getGrade() + "在上" + t.getName() + "的" + t.getCurriculum()); }
@Test public void gradeTest() { System.out.println("StudentTest"); Student instance = new Student(); double expResult = 0.0; double result = instance.getGrade(); assertEquals(expResult, result, 0.0); }
@Test public void nameStudentTest() { System.out.println("StudentTest"); Student instance = new Student("Bill Smith", "c0123456", "male", 89.3); assertEquals("Bill Smith", instance.getName()); assertEquals("c0123456", instance.getId()); assertEquals("male", instance.getGender()); assertEquals(89.3, instance.getGrade(), 0.0); }
@Override public View getView(final int position, View convertView, ViewGroup parent) { /*每开一个新的student,就会重新跑一次这个方法*/ final Student student = getItem(position); ViewHolder viewholder; if (convertView == null) { /*convertView : 将之前加载好的布局,控件等等进行缓存,以便之后可以重用*/ convertView = LayoutInflater.from(getContext()) .inflate(resourceId, null); /*加载list的布局*/ /*将一个XML的格式转化成了一个view的我们能用的格式*/ viewholder = new ViewHolder(); viewholder.studentAge = (TextView) convertView.findViewById(R.id.student_age); viewholder.studentGrade = (TextView) convertView.findViewById(R.id.student_grade); viewholder.studentName = (TextView) convertView.findViewById(R.id.student_name); /*这样就只用找一次控件的位置了*/ convertView.setTag(viewholder); } else { viewholder = (ViewHolder) convertView.getTag(); /*将上次找到的控件的位置给这次的对象*/ } viewholder.studentName.setText(student.getName()); /*这里将得到的值给XML让它显示*/ viewholder.studentAge.setText(student.getAge() + ""); /*setView set的是一个字符串,如果要用数就得加""*/ viewholder.studentGrade.setText(student.getGrade() + ""); /*这里通过viewholder来存储,调用XML中的控件*/ convertView.setOnClickListener( new View.OnClickListener() { /*这里就代表我正在操作的position,可以直接在这里设置监听器*/ @Override /*一般来说,TextView跳转的界面都是同一个Activity*/ public void onClick(View v) { String data = "正在跳转"; /* Toast.makeText(StudentAdapter.this, data , Toast...)这样子用是错的,因为这里的Adapter不是个Activity,他只是个类,没有上下文。*/ Toast.makeText(getContext(), data, Toast.LENGTH_SHORT) .show(); /*Adapter不是context,getcontext得到的Activity才是context*/ Intent intent = new Intent(getContext(), Student1.class); /*每一个getContext()就是一个单独的活动 暂时这么理解*/ intent.putExtra("name", student.getName()); getContext() .startActivity( intent); /*这里在使用startActivity的时候必须用getContext来调用,否则编译器不知道你是在哪个上下文启动了intent*/ } }); return convertView; }
@Override public Object getValueAt(int rowIndex, int columnIndex) { if ((rowIndex < 0) || (rowIndex >= students.size())) return null; else { Student s = this.activeCourse.getStudents().get(rowIndex); if (columnIndex == IDX_FIRST_NAME) { return s.getFirstName(); } else if (columnIndex == IDX_LAST_NAME) { return s.getLastName(); } else if (columnIndex == IDX_STUDENT_NUM) { return s.getNumber(); } else if (columnIndex == IDX_WEIGHTED_AVG) { return this.activeCourse.getWeightedAverage(s); } else if (columnIndex > IDX_WEIGHTED_AVG) { try { Double d = s.getGrade(columnIndex - 4); return d.toString(); } catch (NullPointerException e) { return " "; } } else return " "; } }
/** * Assign the set of students (presumably non-incoming-freshmen, but this is not checked) passed * to their dorm rooms, in a way that does not take race into account. (compare {@link * #assignByRace}.) As a precursor (side effect) to this, any students already existing in * upperclass dorms will be removed. */ public void assign(Bag students) { emptyDorms(); // Purge all freshmen. (We're not assigning those.) Bag upperclassmen = null; try { upperclassmen = (Bag) students.clone(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } for (int x = upperclassmen.size() - 1; x >= 0; x--) { Student s = (Student) upperclassmen.get(x); if (s.getGrade() < 2) { upperclassmen.remove(s); } } for (int x = 0; x < upperclassmen.size(); x++) { Student s = (Student) upperclassmen.get(x); if (s.getGrade() < 2) { // We're only assigning upperclassmen here. continue; } s.leaveRoom(); for (int y = 0; y < dorms.size(); y++) { if (s.hasRoom()) { break; } Dorm d = (Dorm) dorms.get(y); if (d.isFull()) { continue; } if (d.isFemaleOnly() && s.getGender() == Student.Gender.MALE) { continue; } int i = 0; while (i < d.getNumRooms()) { if (s.hasRoom()) { break; } try { d.getRoomByIndex(i).addResident(s); } catch (IllegalArgumentException e) { // System.out.println(e); } i++; } } } // Error testing to see if there are upperclassmen who don't have a // room/dorms that aren't full // int q=0; for (int x = 0; x < upperclassmen.size(); x++) { Student s = (Student) upperclassmen.get(x); if (!s.hasRoom()) { System.out.println(s + " has no upperclass dorm room!"); } } }