我是新来的,我也是编程新手。 这是我写的代码,这是项目中的两个类之一,"学生":
interface Comparable{
public boolean youngerThan(Comparable c);
}
public class Student implements Comparable{
private String name;
private int age;
public Student(String n, int a){
this.name=n;
this.age=a;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public void setStudent(String n, int a){
this.name=n;
this.age=a;
}
public String toString() {
return this.getName()+" ("+this.getAge()+"years)";
}
public boolean youngerThan(Comparable c){
Student s;
s=(Student)c;
if(this.getAge()>s.getAge())
return false;
if (this.getAge()==s.getAge())
return false;
else
return true;
}
public static void main(String[] args){
Student[] student= new Student[5];
student[0].setStudent("Marco", 20);
student[1].setStudent("Giacomo", 19);
student[2].setStudent("Susan", 24);
student[3].setStudent("Billie", 25);
student[4].setStudent("Max", 18);
}
}
}
另一个,包括方法" Ordinator",它使用冒泡排序按顺序排列"学生"根据年龄,从年轻到年长:
public class Ordinator {
public static void order(Comparable[]list){
int imin;
for(int ord=0; ord<list.length-1;ord++){
imin=ord;
for(int i=ord +1; i<list.length; i++){
if(list[i].youngerThan(list[imin]));
Comparable temp=list[i];
list[i]=list[imin];
list[imin]=temp;
}
}
}
}
现在我必须使用Junit测试方法顺序,看它是否有效。但我不知道如何测试一系列物体,特别是在这种情况下。希望有人可以帮忙!在此先感谢:)
答案 0 :(得分:1)
您只需迭代列表,进行个别比较。
for (int i=1; i<list.length; i++) {
assertTrue(list[i].compareTo(list[i-1]) >= 0);
}