类与类集合的基本使用
设计人员类(姓名,性别,年龄,出生年月日),创建20位人员,年龄在(集合)(20-25)且随机产生 存放在集合中,最后将年龄>24的人员删除.
思路:定义类 Person 四个属性 创建一个List集合对象
使用for循环来创建20位人员,随机产生相关的属性值
再使用for循环,过滤大于24岁的人员
通过增强for循环显示满足条件的人员信息
完成 person类+personMain类
package bean; import java.util.Date; public class Person { private String name; private String sex; private int age; private Date date;//日期 public Person(String name, String sex, int age, Date date) { this.name = name; this.sex = sex; this.age = age; this.date = date; } public Person(){} public void setName(String name) { this.name = name; } public void setSex(String sex) { this.sex = sex; } public void setAge(int age) { this.age = age; } public void setDate(Date date) { this.date = date; } public String getName() { return name; } public String getSex() { return sex; } public int getAge() { return age; } public Date getDate() { return date; }} personMian.java
package com.company; import bean.Person; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List; /** * Created by lxj-pc on 2017/6/25. */public class PersonMain { public static void main(String[] args) {//alt+enter 导入类所在位置 ArayList //<>泛型声明的类型 元素类型 List<Person> persons=new ArrayList<>(); Person person=null; SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); for (int i=0;i<20;i++){ person=new Person(); person.setName("person-"+i); person.setAge((int) (Math.random()*6+20)); //三元操作符号 person.setSex(Math.random()>0.5?"男":"女"); //2004-00-10 //抛出异常 捕获异常 //异常的分类: // 受控异常: 可以捕获(try-catch) // 非受控异常:程序运行时发生的异常,如索引越界,除数为0等(bug) //年份:[1993,2005] // 月份[1-12] // 日:[1,30] try { int maxYear=2005; int minYear=1993; int year= (int) (Math.random()*(maxYear-minYear+1)+minYear); //数据型d,字符类型s,%f 小数类型 //String.format("%d-%s-%s") int month= (int) (Math.random()*12+1); String monthStr =month<10?"0"+month:""+month; person.setDate(sdf.parse( String.format("%d-%s-10",year,monthStr ))); } catch (ParseException e) { e.printStackTrace(); } //添加到集合里去 persons.add(person); } //1-新元素 2-在哪取 System.out.println("处理前"); for (Person p:persons ) { System.out.println(p.getName()+","+p.getAge()+","+sdf.format(p.getDate()));//日期转成字符串 } System.out.println("处理中"); //输出集合中年龄超过24周岁 //对list集合元素删除是 建议使用倒序方式 for (int i=persons.size()-1;i>=0;i--){ //如果方法有返回值 可以在方法后面添加 //.var 生成这个返回值的引用[局部变量] //.field 生成这个返回值的引用[类成员变量] if (persons.get(i).getAge()>=24){ persons.remove(i); } } System.out.println("处理后"); for (Person p:persons ) { System.out.println(p.getName()+","+p.getAge()+","+sdf.format(p.getDate()));//日期转成字符串 } } }
转载于:https://www.cnblogs.com/lxj666/p/7077561.html
类与类集合的基本使用相关推荐
- Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析、论文评阅标准参考、国内外CUMCM数学建模类参考文献论文集合之详细攻略
Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析.论文评阅标准参考.国内外CUMCM数学建模类参考文献论文集合之详细攻略 目录 全国大学生 ...
- 14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
本篇主要是集合框架基础和List集合,Map集合等等后续更 集合 14.1 集合框架 14.1.1 概念 14.1.2 集合架构 14.2 Collection接口 14.2.1 常用方法 14.3 ...
- GO 语言常用工具类-通用方法集合
GO 语言常用工具类-通用方法集合 github: https://github.com/gitstliu/go-commonfunctions 1. PanicHandler 通用Panic处理器 ...
- Java_比较器枚举类和注解集合泛型
文章目录 Java_比较器 Java_自然排序:java.lang.Comparable Java_Comparable的实现 Java_定制排序java.util.Comparator Java_S ...
- AI生成和修改音频音乐类工具网站集合
AI时代,有最强问答ChatGPT,有文本生成图像的Stable Diffusion,Midjourney,当然也少不了AI生成和修改音频的各种工具,我们整理出其中最具影响力的,并且可能最用得上的一些 ...
- week_04 常用类以及核心集合
内部类 局部内部类 /* 关于局部内部类,它的书写位置,在外部类的成员方法中的定义的类 局部内部类可以访问外部类的成员变量包括私有! 在外部类的局部位置,访问内部类的成员方法,创建当前局部内部类对象来 ...
- Java常用实体类--System类
字符串.日期.数字是Java程序中最常使用的数据对象,对这些数据的创建.修改.格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握.本节将通过实例演示以下常用实体类 Java系统级类:系统类S ...
- python 类-9. 类 — Python 3.9.0 文档
9.类¶ 类提供了一种组合数据和功能的方法. 创建一个新类意味着创建一个新的对象 类型,从而允许创建一个该类型的新 实例 . 每个类的实例可以拥有保存自己状态的属性. 一个类的实例也可以有改变自己状态 ...
- Java 编程的动态性 第1 部分: 类和类装入--转载
原文地址:http://www.ibm.com/developerworks/cn/java/j-dyn0429/ 本文是这个新系列文章的第一篇,该系列文章将讨论我称之为 Java 编程的动态性的一系 ...
最新文章
- 想转行学软件测试要注意哪些问题
- 工业相机参数之帧率相关知识详解
- mysql 查询执行计划_mysql8 参考手册--了解查询执行计划,使用EXPLAIN优化查询
- 学习笔记——itertools模块
- UE4 材质:石缝提高混合权重
- 与疫情赛跑|武汉火神山医院施工视频和现场画面
- 【收藏】vuejs学习笔记github地址
- 【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
- SQLErrorCodeSQLExceptionTranslator
- Centos7之搜索命令locate
- “一键删除中国App”应用海外走红,下载量破500万!谷歌:我先把你删除了
- awk入门-保护SSHD
- Shapefile简介
- 【2018亚太数据中心峰会】黄超:从供到需-中国IDC产业发展的环境分析
- xposed框架报错安装不上解决办法
- 核磁共振成像脉冲序列——杨正汉(2)
- 计算机网络协议(三)——UDP、TCP、Socket
- “人人都是产品经理”之歪门邪道
- 每日作业20200429 - 二元一次方程 解鸡兔同笼
- 地球系统模式(CESM)
热门文章
- Netty 系列三(ByteBuf).
- LAMP+LNMP(四)PHP安装实践
- 简单介绍join,outer-join,semi-join,anti-join的区别
- 两台服务器实现会话共享
- KN-S1008S1016S1024S1024F端口状态指示
- 最新Butterknife集成 全部方法(完整版)
- Android Custom View ----invalidate() 、postInvalidate() and requestLayout()
- [译] Go: 理解 Sync.Pool 的设计
- 工厂方法模式与抽象工厂模式
- 一步一步自定义spinner