首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于java.lang里的一个有关问题 需要回看类图 Orz

2011-12-05 
关于java.lang里的一个问题 需要回看类图 Orz做一道题目的时候有个几个方法不知道编写?请高手看过题目后再

关于java.lang里的一个问题 需要回看类图 Orz
做一道题目的时候有个几个方法不知道编写?请高手看过题目后再看看我写的指导下Orz     问题有点长请见谅啊

题目:   (The   person   and   student   class)creat   the   class   as   shown   in   figure   ***(即待会我打的类图)

Implement   the   compareTo   method   in   the   Person   class   to   compare   persons   in   the   compareTo   methed   to   compare   students   in   alphabetical   order   of   their   major   of   their   major,last   name,first   name,and   middle   initial.
write   a   test   program   with   the   following   three   metheds
/**Sort   an   arry   of   comparable   objects   */
        public   static   void   sort(Object[]   list)
/**   Return   the   max   object   in   an   array   of   comparable   objects*/
        public   static   Object   max(Object[]   list)
main   method:   Test   the   sort   and   max   methed   using   an   array   of   four   students,   an   array   of   four   Strings,   an   array   of   one   houndred   random   rationals,   and   array   of   one   houndred   random   integers.


类图:

Person         ....△java.lang.Comparable
_____________
-name:Name
_____________
+Person   (name:Name)
+getName():Name
+setName(name:Name):void
+toString():String
+equals(object:Object):boolean
+comparTo(object:Object):int


Name         -----◆Person
____________________
-firstName:String
-mi:char
-lastName:String
____________________
+Name(firstName:String,mi:char,lastName:String)
+getFirstName():String
+setFirstName(firstName:String):void
+getMi():char
+setMi(mi:char):void
+getLastName():String
+setLastName(lastName:String):void
+getFullName():String


Student         -------(實綫)△Person
_______________
-major:String
_______________
+student(name:Name,major:String)
+getMajor():String
+setMajor(major:String):void
+toString():String
+compareTo(object:Objext):int

以下是我编写的

public   class   Name   {

private   String   firstName;
private   char   mi;
private   String   lastName;

        public   Name()   {
       
        }
       
        public   String   getFirstName(){
       
        return   firstName;
        }
       
        public   void   setFirstName(String   firstName){
       
        this.firstName   =   firstName;
        }
       
        public   char   getMi(){
       
        return   mi;
        }
       
        public   void   setMi(char   mi){


       
        this.mi   =   mi;
        }
       
        public   String   getLastName(){
       
        return   lastName;
        }
       
        public   void   setLastName(String   lastName){
        this.lastName   =   lastName;
        }
       
        public   String   getFullName(){
        return   firstName+ "   "+mi+ "   "+lastName;
        }
}

_______________________________________________

public   class   Person   implements   Comparable{

private   Name   name;

public   Person(){

}
public   Person(Name   name){
this.name   =   name;
}

public   Name   getName(){

return   name;
}

public   void   setName(){
this.name   =   name;
}
public   String   toString(){
return   "\n "+name.getFullName();
}
/*下面这2个方法不知道该怎么写...*/
public   int   compareTo(Object   object){

return       ;
}

public   boolean   equals(Object   object){

return       ;
}

}

________________________________________________
public   class   Student   extends   Person{

private   String   major;

public   Student(String   name,   String   major){

}

public   String   getMajor(){

return   major;
}

public   void   setMajor(String   major){

}
/*同上面以下这个也不会*/
public   int   compareTo(Object   object){

return       ;
}

public   String   toString(){

return   super.toString()   +
"\nMajor: "   +   major;
}
}

请高手解答下吧

[解决办法]
没看仔细,呵呵,
Person类不要要考虑major,直接比较name,然后Student的compareTo直接比较major并调用父类Person的compareTo方法比较name

equals看你怎么定义两个实例是相等的
比如class A{int i;}如果i相等就让A的实例equals的话,equals就直接return i==((A)obj).i

热点排行