想知道是否实现了要求,及为何成绩不能按年纪的升序来

img


根据一组正则规则,扩展定义多组 “|”分割的字串的正则表达式,对象的比较规则定义及使用

img

img

1.题目要求输入,你把s1写死了肯定不对呀
2.s2里存的是字符串啊,而且是未经分解的字符串
你循环里的temp被丢弃了,后面没有用到,还有循环里应该写s2[i].split而不是s1.split

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
    public static void main(String[] args) {
        //定义一组User数据
        List<User> userList = new ArrayList<>();
        User user = new User("1","张三",25);
        userList.add(user);
        user = new User("2","李四",22);
        userList.add(user);
        user = new User("3","王五",20);
        userList.add(user);
        //排序
        Collections.sort(userList);
        //输出
        System.out.println(userList);
    }
}
class User implements Comparable{
    public String id;
    public String name;
    public int age;
    public User(String id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    @Override
    public int compareTo(Object o) {
        User user = (User)o;
        if(this.age == user.age){
            //年龄相同,则按姓名排序
            return this.name.compareTo(user.name);
        }
        //年龄不相同,升序排列
        return this.age - user.age;
    }
    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}