首页 > 代码库 > 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。