Java之经典Student问题2

创建5个学生对象给一个学生数组赋值,每个学生属性有:学号、姓名、年龄。

要求:1.给每个学生排序输出。  2.给所有学生年龄加1。  3.统计年龄大于20的学生人数。

在这里,我们用了compareTo方法,其实compareTo就是用来比较两个值,如果前者大于后者,返回1,等于返回0,小于返回-1

package com.cdp.student;

public class student {
    // 属性
    private String name;
    private String number;
    private int age;
    // 构造方法
    public student() {
    }
    // 带参数的构造方法
    public student(String number, String name, int age) {
        this.age = age;
        this.name = name;
        this.number = number;
    }
    public static void main(String[] args) {
        // 统计学生人数
        int count = 0;
        // 定义一个学生数组
        student[] s = new student[5];
        // 给每个学生赋值
        s[0] = new student("学号234", "小三", 18);
        s[1] = new student("学号123", "小四", 21);
        s[2] = new student("学号456", "小五", 20);
        s[3] = new student("学号879", "小六", 22);
        s[4] = new student("学号785", "小七", 18);
        // 按学号排序
        for (int i = 0; i < s.length - 1; i++) {
            for (int j = i + 1; j < s.length; j++) {
                if (s[i].number.compareTo(s[j].number) > 0) {
                    // 此时i和j位置上的 元素互换
                    student temp = new student();
                    temp = s[i];
                    s[i] = s[j];
                    s[j] = temp;
                }
            }
        }

        for (int i = 0; i < s.length; i++) {
            System.out.println("学生排序为:" + s[i].number + "  姓名:" + s[i].name
                    + "     年龄:" + s[i].age);
        }
        // 给所有学生年龄加1
        for (int i = 0; i < 5; i++) {
            s[i].age = s[i].age + 1;
            System.out.println("所有学生年龄加1:" + s[i].number + "  姓名:" + s[i].name
                    + "     年龄:" + s[i].age);
        }
        // 统计大于20岁的学生
        for (int i = 0; i < 5; i++) {
            if (s[i].age > 20) {
                count++;
            }
        }
        System.out.println("年龄大于20的学生人数为:" + count);
    }
}

运行结果:

学生排序为:学号123  姓名:小四     年龄:21
学生排序为:学号234  姓名:小三     年龄:18
学生排序为:学号456  姓名:小五     年龄:20
学生排序为:学号785  姓名:小七     年龄:18
学生排序为:学号879  姓名:小六     年龄:22
所有学生年龄加1:学号123  姓名:小四     年龄:22
所有学生年龄加1:学号234  姓名:小三     年龄:19
所有学生年龄加1:学号456  姓名:小五     年龄:21
所有学生年龄加1:学号785  姓名:小七     年龄:19
所有学生年龄加1:学号879  姓名:小六     年龄:23
年龄大于20的学生人数为:3
不努力,还要青春干什么?
原文地址:https://www.cnblogs.com/caidupingblogs/p/5856583.html