创建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的更多相关文章
-
JAVA之经典Student问题1
通过“三目运算符”求最大值与最小值. class student { //定义学生编号 private String stu; //学生姓名 private String name; //学生书信成绩 ...
-
java设计模式大全 Design pattern samples in Java(最经典最全的资料)
java设计模式大全 Design pattern samples in Java(最经典最全的资料) 2015年06月19日 13:10:58 阅读数:11100 Design pattern sa ...
-
MVC设计模式与Java Web经典三层架构
MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
-
【视频+图文】Java基础经典练习题(一)输出2-100之间的素数,及素数个数
目录 第一题:判断2-100之间有多少个素数,并输出所有素数. 1.视频讲解: 2.思路分析: 代码讲解:以i=4为例 4.为大家准备了彩蛋: 能解决题目的代码并不是一次就可以写好的 我们需要根据我们 ...
-
JAVA多线程经典问题 -- 生产者 消费者
工作2年多来一直也没有计划写自己的技术博客,最近辞职在家翻看<thingking in JAVA>,偶尔看到了生产者与消费者的一个经典的多线程同步问题.本人在工作中很少使用到多线程以及高并 ...
-
JAVA基础经典面试
[前言] 整理好久,这篇总结写的超级好,很全面.要全部背下来,至于框架应用那块,一定要有针对的,多写项目,照着慕课的对应项目. 链接:http://www.importnew.com/22083.ht ...
-
Java面试经典题目合集
32 1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法与类相关,可以在 ...
-
【Java】经典示例代码
成鹏致远 | lcw.cnblogs.com | 2014-02-08 单例设计模式 class Singleton{ private static Singleton instance = new ...
-
Java书籍经典Top10
1)Java Language Specification, Third Edition (by James Gosling) 本书由Java技术的发明者编写,是Java TM编程语言的权威性技术指南 ...
随机推荐
-
dedecms有条件sql注入(x0day)
https://www.t00ls.net/thread-35569-1-1.html http://localhost/dedecms/plus/advancedsearch.php?mid=1&a ...
-
Jquery给动态生成的对象绑定事件
$(document).on("blur", ".Text1", function () { var index = this.id.replace('txtS ...
-
在MacOS和iOS系统中使用OpenCV
在MacOS和iOS系统中使用OpenCV 前言 OpenCV 是一个开源的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法. 最近试着在 MacOS 和 iOS 上使用 OpenCV ...
-
mvc+ef+oracle环境中报错:ORA-00001: 违反唯一约束条件
分析原因: 在oracle中,主健不能自动生成,不过可以通过“序列”来实现,如果是这样的话,问题很可能就出在“序列”上了: ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性 ...
-
《C标准库》——之<;ctype.h>;
在没读<ctype.h>的源码之前,我一直以为我们平时用的isalnum.isdigit.isalpha等这些函数,是靠判断写出来的. 比如: int isdigit(int c){ re ...
-
jackson 学习笔记
Jackson以优异的解析性能赢得了好评,今天就看看Jackson的一些简单的用法. Jackson使用之前先要下载,这里一共有三个jar包,想要获得完美的Jackson体验,这三个jar包都不可或缺 ...
-
Mongodb集群搭建
搭建高可用Mongodb集群 http://www.lanceyan.com/category/tech/mongodb/page/2 再看MongoDB副本集 http://blog.itpub. ...
-
用xml画水平虚线和竖直虚线.md
1.画水平虚线 直接建一个shape,设置stroke属性就行了,再将这个属性直接作为background的drawable属性引入就行了 注意在4.0以上的真机加一句 <?xml versio ...
-
linux_inode 和 block
linux里一切皆文件 什么是文件属性? 文件本身带有的信息, 包括:索引节点编号. 文件类型以及权限.硬链接个数(备份作用).所有者.所属组.文件大小.修改月.修改日.时分 什么是索引节点? ino ...
-
lodash源码分析之获取数据类型
所有的悲伤,总会留下一丝欢乐的线索,所有的遗憾,总会留下一处完美的角落,我在冰峰的深海,寻找希望的缺口,却在惊醒时,瞥见绝美的阳光! --几米 本文为读 lodash 源码的第十八篇,后续文章会更新到 ...