Java之经典Student问题2
Posted 冷的锋刃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章