當前位置:編程學習大全網 - 編程語言 - 壹道Java編程題,拜托了各位大神

壹道Java編程題,拜托了各位大神

1.定義壹個Student類,包括學號,姓名,成績三個字段,生成get,set和toString方法,實現Comparable接口,重寫toCompare方法,方法裏就是本題的邏輯,先按成績比較,再按學好比較,使用TreeSet不實現這個接口會報錯。

package?Collection;

public?class?Student?implements?Comparable<Student>?{

private?long?sno;

private?String?name;

private?int?score;

public?long?getSno()?{

return?sno;

}

public?void?setSno(long?sno)?{

this.sno?=?sno;

}

public?String?getName()?{

return?name;

}

public?void?setName(String?name)?{

this.name?=?name;

}

public?int?getScore()?{

return?score;

}

public?void?setScore(int?score)?{

this.score?=?score;

}

@Override

public?int?compareTo(Student?o)?{

//?TODO?Auto-generated?method?stub

if?(this.score?<?o.score)?{

return?1;

}?else?if?(this.score?>?o.score)?{

return?-1;

}?else?{

if(this.sno<o.sno)?{

return?1;

}else?{

return?-1;

}

}

}

@Override

public?String?toString()?{

return?"Student?[sno="?+?sno?+?",?name="?+?name?+?",?score="?+?score?+?"]";

}

}

2.然後寫測試類,生成十個學生,然後插入treeset,直接遍歷輸出就是排序好的結果。

package?Collection;

import?java.util.Random;

import?java.util.TreeSet;

public?class?TreeSetTest?{

public?static?void?main(String[]?args)?{

TreeSet<Student>?ts=new?TreeSet<Student>();

for(int?i=0;i<10;i++)?{

Student?stu=new?Student();

stu.setName("student"+i);

stu.setSno(170201+i);

stu.setScore(90+new?Random().nextInt(10));

ts.add(stu);

}

for(Student?stu:ts)?{

System.out.println(stu);

}

}

}

最後貼壹個運行結果

  • 上一篇:贛州市到鷹唐多少公裏
  • 下一篇:日本尚美學園大學好嗎
  • copyright 2024編程學習大全網