设计人员类(姓名,性别,年龄,出生年月日),创建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

类与类集合的基本使用相关推荐

  1. Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析、论文评阅标准参考、国内外CUMCM数学建模类参考文献论文集合之详细攻略

    Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数学建模竞赛历年考察知识点统计可视化分析.论文评阅标准参考.国内外CUMCM数学建模类参考文献论文集合之详细攻略 目录 全国大学生 ...

  2. 14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)

    本篇主要是集合框架基础和List集合,Map集合等等后续更 集合 14.1 集合框架 14.1.1 概念 14.1.2 集合架构 14.2 Collection接口 14.2.1 常用方法 14.3 ...

  3. GO 语言常用工具类-通用方法集合

    GO 语言常用工具类-通用方法集合 github: https://github.com/gitstliu/go-commonfunctions 1. PanicHandler 通用Panic处理器 ...

  4. Java_比较器枚举类和注解集合泛型

    文章目录 Java_比较器 Java_自然排序:java.lang.Comparable Java_Comparable的实现 Java_定制排序java.util.Comparator Java_S ...

  5. AI生成和修改音频音乐类工具网站集合

    AI时代,有最强问答ChatGPT,有文本生成图像的Stable Diffusion,Midjourney,当然也少不了AI生成和修改音频的各种工具,我们整理出其中最具影响力的,并且可能最用得上的一些 ...

  6. week_04 常用类以及核心集合

    内部类 局部内部类 /* 关于局部内部类,它的书写位置,在外部类的成员方法中的定义的类 局部内部类可以访问外部类的成员变量包括私有! 在外部类的局部位置,访问内部类的成员方法,创建当前局部内部类对象来 ...

  7. Java常用实体类--System类

    字符串.日期.数字是Java程序中最常使用的数据对象,对这些数据的创建.修改.格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握.本节将通过实例演示以下常用实体类 Java系统级类:系统类S ...

  8. python 类-9. 类 — Python 3.9.0 文档

    9.类¶ 类提供了一种组合数据和功能的方法. 创建一个新类意味着创建一个新的对象 类型,从而允许创建一个该类型的新 实例 . 每个类的实例可以拥有保存自己状态的属性. 一个类的实例也可以有改变自己状态 ...

  9. Java 编程的动态性 第1 部分: 类和类装入--转载

    原文地址:http://www.ibm.com/developerworks/cn/java/j-dyn0429/ 本文是这个新系列文章的第一篇,该系列文章将讨论我称之为 Java 编程的动态性的一系 ...

最新文章

  1. 想转行学软件测试要注意哪些问题
  2. 工业相机参数之帧率相关知识详解
  3. mysql 查询执行计划_mysql8 参考手册--了解查询执行计划,使用EXPLAIN优化查询
  4. 学习笔记——itertools模块
  5. UE4 材质:石缝提高混合权重
  6. 与疫情赛跑|武汉火神山医院施工视频和现场画面
  7. 【收藏】vuejs学习笔记github地址
  8. 【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
  9. SQLErrorCodeSQLExceptionTranslator
  10. Centos7之搜索命令locate
  11. “一键删除中国App”应用海外走红,下载量破500万!谷歌:我先把你删除了
  12. awk入门-保护SSHD
  13. Shapefile简介
  14. 【2018亚太数据中心峰会】黄超:从供到需-中国IDC产业发展的环境分析
  15. xposed框架报错安装不上解决办法
  16. 核磁共振成像脉冲序列——杨正汉(2)
  17. 计算机网络协议(三)——UDP、TCP、Socket
  18. “人人都是产品经理”之歪门邪道
  19. 每日作业20200429 - 二元一次方程 解鸡兔同笼
  20. 地球系统模式(CESM)

热门文章

  1. Netty 系列三(ByteBuf).
  2. LAMP+LNMP(四)PHP安装实践
  3. 简单介绍join,outer-join,semi-join,anti-join的区别
  4. 两台服务器实现会话共享
  5. KN-S1008S1016S1024S1024F端口状态指示
  6. 最新Butterknife集成 全部方法(完整版)
  7. Android Custom View ----invalidate() 、postInvalidate() and requestLayout()
  8. [译] Go: 理解 Sync.Pool 的设计
  9. 工厂方法模式与抽象工厂模式
  10. 一步一步自定义spinner