创建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的更多相关文章

  1. JAVA之经典Student问题1

    通过“三目运算符”求最大值与最小值. class student { //定义学生编号 private String stu; //学生姓名 private String name; //学生书信成绩 ...

  2. java设计模式大全 Design pattern samples in Java(最经典最全的资料)

    java设计模式大全 Design pattern samples in Java(最经典最全的资料) 2015年06月19日 13:10:58 阅读数:11100 Design pattern sa ...

  3. MVC设计模式与Java Web经典三层架构

    MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...

  4. 【视频+图文】Java基础经典练习题(一)输出2-100之间的素数,及素数个数

    目录 第一题:判断2-100之间有多少个素数,并输出所有素数. 1.视频讲解: 2.思路分析: 代码讲解:以i=4为例 4.为大家准备了彩蛋: 能解决题目的代码并不是一次就可以写好的 我们需要根据我们 ...

  5. JAVA多线程经典问题 -- 生产者 消费者

    工作2年多来一直也没有计划写自己的技术博客,最近辞职在家翻看<thingking in JAVA>,偶尔看到了生产者与消费者的一个经典的多线程同步问题.本人在工作中很少使用到多线程以及高并 ...

  6. JAVA基础经典面试

    [前言] 整理好久,这篇总结写的超级好,很全面.要全部背下来,至于框架应用那块,一定要有针对的,多写项目,照着慕课的对应项目. 链接:http://www.importnew.com/22083.ht ...

  7. Java面试经典题目合集

    32 1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法与类相关,可以在 ...

  8. 【Java】经典示例代码

    成鹏致远 | lcw.cnblogs.com | 2014-02-08 单例设计模式 class Singleton{ private static Singleton instance = new ...

  9. Java书籍经典Top10

    1)Java Language Specification, Third Edition (by James Gosling) 本书由Java技术的发明者编写,是Java TM编程语言的权威性技术指南 ...

随机推荐

  1. css margin的相关属性,问题及应用

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=48 引言:margin ...

  2. Codeforces Round #310 (Div. 2) A. Case of the Zeros and Ones 水题

    A. Case of the Zeros and Ones Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/con ...

  3. 【JavaScript】JavaScript中的Timer是怎么工作的( setTimeout,setInterval)

    原文(http://www.yeeyan.org/articles/view/luosheng/24380) 作为入门者来说,了解JavaScript中timer的工作方式是很重要的.通常它们的表现行 ...

  4. RotateAnimation详解

    其他构造器的旋转也可参考这副图. RotateAnimation旋转坐标系为以旋转点为坐标系(0,0)点.x轴为0度,顺时针方向旋转一定的角度.        1.RotateAnimation(fr ...

  5. install root certificate failed, Please run as administrator/root/sudo

    在钥匙窜中导入  证书就可以了

  6. 基于Bootstrap的jQuery开关按钮组合

    Bootstrap是一款由Twitter推出的开源前端开发包,功能非常强大.今天我们要分享的这款jQuery开关按钮组合就是基于Bootstrap框架的,看了按钮的主题样式,也都是Bootstrap的 ...

  7. 干货:VLDB论文摘要-阿里技术突破性创新

    阿里技术突破性创新 世界顶级大规模数据处理分析管理会议VLDB(VERY LARGE DATA BASE)于9月1日至5日在杭州举办,该会议也是也是大数据云计算领域的盛会,阿里巴巴两个团队在这个会议上 ...

  8. (一)u-boot2013.01.01 for TQ210:《Uboot简介》

    一直想写一个s5pv210硬件平台的u-boot的移植文档,但一直都忙着没时间写.先写一些u-boot的脚本分析吧,包括makefile,mkconfig,config.mk,主要侧重于语法句意的分析 ...

  9. 重构14-Break Responsibilities

    把一个类的多个职责进行拆分,这贯彻了SOLID中的单一职责原则(SRP).尽管对于如何划分“职责”经常存在争论,但应用这项重构还是十分简单的.我这里并不会回答划分职责的问题,只是演示一个结构清晰的示例 ...

  10. 监控服务器JVM内存运行

    使用jdk的jconsole进行监控jmx 首先,设置监控对象的端口   配置 catalina.sh #vi /usr/tomcat/bin/catalina.sh 注: /usr/tomcat/b ...