首页 > 代码库 > 类与类集合的基本使用
类与类集合的基本使用
设计人员类(姓名,性别,年龄,出生年月日),创建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()));//日期转成字符串
}
}
}
类与类集合的基本使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。