public class MuilInterfaceTest { public static void main(String[] args) { Student[] staff = new Student[3]; staff[0] = new Student("Tom", "20031020"); staff[1] = new Student("Jack", "20031022"); staff[2] = new Student("Rose", "20021023"); Arrays.sort(staff); for(int i = 0; i < staff.length; i++) { System.out.println((Student)staff[i]); } } } interface Person { String getName(); String getSex(); String getBirthday(); String getAddress(); //void setAddress(String StrAddress); } /* *学生类,包括学生的基本信息,实现了Person与Comparable接口 */ class Student implements Person, Comparable { private String strName = "";//学生姓名 private String strNumber = "";//学号 private String strSex = "";//性别 private String strBirthday = "";//出生年月 private String strSpeciality = "";//专业 private String strAddress = "";//地址
public Student(String name, String number) { strName = name; strNumber = number; } public int compareTo(Object otherObject) { Student other = (Student)otherObject; int otherNumber = Integer.parseInt(other.strNumber); int thisNumber = Integer.parseInt(this.strNumber); if(thisNumber > otherNumber) return 1; else if (thisNumber == otherNumber) return 0; else return -1; }
public String getName() { return strName; }
public String getStudentNumber() { return strNumber; }
public void setStudentSex(String sex) { strSex = sex; }
public String getSex() { return strSex; }
public String getBirthday() { return strBirthday; }
public void setStudentBirthday(String birthday) { strBirthday = birthday; }
public String getStudentSpeciality() { return strSpeciality; }
public void setStudentSpeciality(String speciality) { strSpeciality = speciality; }
public String getAddress() { return strAddress; }
public void setAddress(String address) { strAddress = address; }
public String toString() { String information = "学生姓名=" + strName + ", 学号=" + strNumber; if( !strSex.equals("") ) information += ", 性别=" + strSex; if( !strBirthday.equals("")) information += ", 出生年月=" + strBirthday; if( !strSpeciality.equals("") ) information += ", 专业=" + strSpeciality; if( !strAddress.equals("") ) information += ", 籍贯=" + strAddress; return information; } }
这个程序是关于“多态”的,这个程序编译时能通过,但是在运行时却出现了以下的错误,请大哥、大姐们多多指教: Exception in thread "main" java.lang.ClassCastException at java.util.Arrays.mergeSort(Arrays.java:1152) at java.util.Arrays.sort(Arrays.java:1079) at MuilInterfaceTest.main(MuilInterfaceTest.java:16)
----------------解决方案--------------------------------------------------------
你这个程序我用eclipse编译运行成功,以下是运行结果:
学生姓名=Rose, 学号=20021023
学生姓名=Tom, 学号=20031020
学生姓名=Jack, 学号=20031022
----------------解决方案--------------------------------------------------------
同楼上,JDK1.5+Editplus,通过并显示结果,代码没有问题
----------------解决方案--------------------------------------------------------
非常感谢你能帮小弟解决了这个问题,但是小弟还不知道eclipse怎么用,能告诉小弟吗?小弟万分感激!
----------------解决方案--------------------------------------------------------