具体要求如下: 1)方法声明为public void sortArr(Object arr[]){ } 2)方法中首先输出排序前数组内容,然后进行排序,最后输出排序后数组内容。 3)可以是冒泡排序或其他算法实现,不直接调用Java提供的方法实现排序。 思路:任意类实现Comparable接口来实现该引用数据类型的元素排序,在sort()方法中将Object强转成Comparable实现两个对象的比较。
public class Test { public static void main(String[] args) { Student s1 = new Student(“小红”, 18); Student s2 = new Student(“小橙”, 20); Student s3 = new Student(“小黄”, 26); Student s4 = new Student(“小绿”, 38); Student s5 = new Student(“小青”, 58); Student s6 = new Student(“小蓝”, 79); Student s7 = new Student(“小紫”, 19); Student[] students = {s1, s2, s3, s4, s5, s6, s7}; System.out.println(“排序前”); for (Student stu : students) { System.out.println(stu); } Student stu=new Student(); stu.sort(students); System.out.println(“排序后”); for ( Student student : students) { System.out.println(student); } } }
public class Student implements Comparable { String name; int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return “名字是”+name+",年龄是:"+age; } @Override public void sort(Object[] obj) { Student[] students=(Student[])obj; for (int i = 0; i < students.length; i++) { for (int j = 0; j < students.length - 1; j++) { Student[] temp = new Student[1]; if (students[j].age > students[j + 1].age) { temp[0] = students[j]; students[j] = students[j + 1]; students[j + 1] = temp[0]; } } } } }
public interface Comparable { public void sort(Object[] obj); }