首页 > 代码库 > Java之经典Student问题2

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

Java之经典Student问题2