package step2; /** * @author pengzheng */ import java.util.Arrays; class Dog [代码] { // 实现接口Comparable<Dog> String name; int weight; public Dog(String name, int weight) { this.name = name; this.weight = weight; } @Override public String toString() { return this.name + "重" + this.weight + "公斤"; } // @Override public int compareTo(Dog o),实现compareTo方法,根据Dog对象中的weight属性比较两条Dog的大小 /********* begin *********/ [代码] /********* end *********/ } public class TestObjectArray { public static void main(String[] args) { Dog[] dogs = [代码] // 创建一个长度为3的Dog类型数组dogs dogs[0] = new Dog("大黄", 30); dogs[1] = new Dog("旺财", 20); dogs[2] = new Dog("福娃", 10); System.out.println("排序前:"); for ([代码]) { // 使用增强型for循环遍历数组dogs System.out.print(e + " "); } [代码] //使用java.util.Arrays对数组dogs进行排序 System.out.println("\n排序后:"); for (int i = 0; i < dogs.length; i++) { System.out.print(dogs[i] + " "); } } }
时间: 2024-01-17 11:08:26 浏览: 97
电子密码锁c51编程
好的,以下是可能需要补全的代码:
```
class Dog implements Comparable<Dog> {
// 实现接口Comparable<Dog>
String name;
int weight;
public Dog(String name, int weight) {
this.name = name;
this.weight = weight;
}
@Override
public String toString() {
return this.name + "重" + this.weight + "公斤";
}
// 实现compareTo方法,根据Dog对象中的weight属性比较两条Dog的大小
@Override
public int compareTo(Dog o) {
return this.weight - o.weight;
}
}
public class TestObjectArray {
public static void main(String[] args) {
Dog[] dogs = new Dog[3]; // 创建一个长度为3的Dog类型数组dogs
dogs[0] = new Dog("大黄", 30);
dogs[1] = new Dog("旺财", 20);
dogs[2] = new Dog("福娃", 10);
System.out.println("排序前:");
for (Dog e : dogs) { // 使用增强型for循环遍历数组dogs
System.out.print(e + " ");
}
Arrays.sort(dogs); //使用java.util.Arrays对数组dogs进行排序
System.out.println("\n排序后:");
for (int i = 0; i < dogs.length; i++) {
System.out.print(dogs[i] + " ");
}
}
}
```
其中,实现了 compareTo 方法,根据 Dog 对象中的 weight 属性比较两条 Dog 的大小。在 main 方法中创建了一个长度为 3 的 Dog 类型数组 dogs,并初始化了其中的元素。使用增强型 for 循环遍历数组 dogs,并使用 Arrays.sort() 方法对其进行排序。最后再次使用 for 循环遍历数组并输出排序后的结果。
阅读全文