创建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. C++学习笔记之函数指针

    与数据项类似,函数也有地址.函数的地址是存储其机器语言代码的内存开始的地方. 一.函数指针的基础知识 假设要设计一个名为estimate()的函数,估算编写指定行数代码所需时间,并且希望不同的程序员都 ...

  2. 关于ORACLE DUAL表

    1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中--查看当前连接用户 SQL> select user from d ...

  3. 内​存​泄​露​调​试​之​ ​v​i​s​u​a​l​ ​l​e​a​k​ ​d​e​t​e​c​t​o​r​ ​工​具【转】

    本文参考此文:http://kangzj.net/visual-leak-detector-download/  另外一种检查内存泄露的工具:visual leak  detector  简称  vl ...

  4. Android Activity界面切换添加动画特效(转)

    在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入, @Override pub ...

  5. android定位和地图开发实例

    在android开发中地图和定位是很多软件不可或缺的内容,这些特色功能也给人们带来了很多方便. 首先介绍一下地图包中的主要类: MapController : 主要控制地图移动,伸缩,以某个GPS坐标 ...

  6. Android操作联系人 android开发教程

    Android系统中的联系人也是通过ContentProvider来对外提供数据的,我们这里实现获取所有联系人.通过电话号码获取联系人.添加联系人.使用事务添加联系人. 获取所有联系人 1. Andr ...

  7. 【JavaScript】页面加载性能优化

    核心在于:减少加载时间 1.减少请求次数 2.缩减文件大小 3.异步加载---------------------->比如document.write 4.延迟加载.动态加载---------- ...

  8. oc-22-sel

    /** sel: 1.作用:包装方法 2.格式:typedef struct objc_selector *SEL; 3.用法: SEL 名称 = @selector(方法); 调用形式: [对象 p ...

  9. js 处理url中文参数 java端接收处理

    正常情况下当http请求中带有中文参数时,浏览器会自动对中文进行一次编码(按照当前页面的pageEncoding),java端容器会对接收到的参数自动进行一次转码,则request.getParame ...

  10. -force_load使用办法

    项目中用到Three20框架,同时也使用了讯飞语音的framework,编译时出现类似如下冲突提示信息: ld: duplicate symbol _OBJC_CLASS_$_AdLinks in / ...