您的位置:首页 > 编程语言 > Java开发

JAVA集合——ArrayList 使用实例

2017-02-26 16:52 423 查看
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

import javax.swing.text.html.HTMLDocument.Iterator;

public class ListTest2 {

private static final int Interge = 0;

public static void main(String[] args) throws IOException {

EmpManage em = new EmpManage();

//制作控制台
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);

while(true){
System.out.println("请选择你要进行的操作:");
System.out.println("1,增加员工");
System.out.println("2,查找员工");
System.out.println("3,显示所有员工的信息");
System.out.println("4,修改员工薪水");
System.out.println("5,员工离职时将其从系统中删除");
System.out.println("6,按照薪水从高到低输出员工信息");

String operType = br.readLine();
if(operType.equals("1")){
System.out.println("请输入该员工的编号:");
String empNo = br.readLine();

System.out.println("请输入该员工的姓名:");
String name = br.readLine();

System.out.println("请输入该员工的年龄:");
int age = Integer.parseInt(br.readLine());

System.out.println("请输入该员工的薪水:");
float sal = Float.parseFloat(br.readLine());
Emp emp = new Emp(empNo,name,age,sal);
em.add(emp);
}else if(operType.equals("2")){
System.out.println("请输入该员工的编号:");
String empNo =br.readLine();
em.showInfo(empNo);

}else if(operType.equals("3")){
em.showAll();

}else if(operType.equals("4")){
System.out.println("请输入该员工编号:");
String empNo = br.readLine();
System.out.println("请输入该员工的薪水:");
float sal = Float.parseFloat(br.readLine());

em.updateSal(empNo, sal);

}else if(operType.equals("5")){
System.out.println("请输入该员工的编号:");
String empNo = br.readLine();
em.remove(empNo);

}else if(operType.equals("6")){
em.paixu();
}
}
}

}
class EmpManage{
//要管理emp,首先把其放入al容器中
private ArrayList  al=null;
//构造
public EmpManage(){
al=new ArrayList();
}

//1.加入雇员
public void add(Emp emp){
al.add(emp);
}
//2.根据员工编号,查找员工信息
public void  showInfo(String empNo){
for(int i=0;i<al.size();i++){
Emp emp =(Emp) al.get(i);
if(empNo.equals(emp.getEmpNo())){
System.out.println("找到该员工了!");
System.out.println("编号:"+emp.getEmpNo()+"   姓名:"+emp.getName());
System.out.println("年龄:"+emp.getAge()+"   薪水:"+emp.getSal());
break;
}
}
}
//3.显示所有员工的信息
public void showAll(){
for(int i=0;i<al.size();i++){
Emp emp=(Emp) al.get(i);
System.out.println("编号:"+emp.getEmpNo()+"   姓名:"+emp.getName());
System.out.println("年龄:"+emp.getAge()+"  薪水:"+emp.getSal());
}
}
//4.修改员工薪水
public void updateSal(String empNo,float sal){
for(int i=0;i<al.size();i++){
Emp emp = (Emp) al.get(i);
System.out.println("已经进来了,要修改了!!");
if(emp.getEmpNo().equals(empNo)){
System.out.println("已找员工:"+emp.getEmpNo()+"  正在修改其薪水!");
emp.setSal(sal);
System.out.println("已将员工"+empNo+"的薪水修改为: "+sal);
break;
}
}
}
//5.员工离职时将其从系统中删除
public void remove(String empNo){
for(int i=0;i<al.size();i++){
Emp emp = (Emp) al.get(i);
if(emp.getEmpNo().equals(empNo)){
//al.remove(i);
al.remove(emp);
}
}
}
//6.将员工按照薪水从高到低排序输出
public void paixu(){
for(int i=0;i<al.size();i++){
Emp emp1= (Emp) al.get(i);
for(int j=i;j<al.size();j++){
Emp emp2 = (Emp) al.get(j);
if(emp1.getSal()<emp2.getSal()){
System.out.println("正在排序中!!");
Emp temp= (Emp)al.get(i);
emp1=(Emp) al.get(j);
emp2=temp;
}
}
}
for(int i=0;i<al.size();i++){
Emp emp = (Emp) al.get(i);
System.out.println("姓名:"+emp.getName()+"薪水:"+emp.getSal());
}
}
//7.统计平均工资、最高、最低工资

}

class Emp{
private String empNo;
public String getEmpNo() {
return empNo;
}

public void setEmpNo(String empNo) {
this.empNo = empNo;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public float getSal() {
return sal;
}

public void setSal(float sal) {
this.sal = sal;
}

private String name;
private int age;
private float sal;
public Emp(String enpNo, String name, int age, float sal) {
super();
this.empNo = enpNo;
this.name = name;
this.age = age;
this.sal = sal;
}
}

请选择你要进行的操作:

1,增加员工

2,查找员工

3,显示所有员工的信息

4,修改员工薪水

5,员工离职时将其从系统中删除

6,按照薪水从高到低输出员工信息
1

请输入该员工的编号:
01

请输入该员工的姓名:
唐僧

请输入该员工的年龄:
35

请输入该员工的薪水:
8000

请选择你要进行的操作:

1,增加员工

2,查找员工

3,显示所有员工的信息

4,修改员工薪水

5,员工离职时将其从系统中删除

6,按照薪水从高到低输出员工信息
1

请输入该员工的编号:
02

请输入该员工的姓名:
悟空

请输入该员工的年龄:
25

请输入该员工的薪水:
7000

请选择你要进行的操作:

1,增加员工

2,查找员工

3,显示所有员工的信息

4,修改员工薪水

5,员工离职时将其从系统中删除

6,按照薪水从高到低输出员工信息
3

编号:01   姓名:唐僧

年龄:35  薪水:8000.0

编号:02   姓名:悟空

年龄:25  薪水:7000.0

请选择你要进行的操作:

1,增加员工

2,查找员工

3,显示所有员工的信息

4,修改员工薪水

5,员工离职时将其从系统中删除

6,按照薪水从高到低输出员工信息
6

姓名:唐僧薪水:8000.0

姓名:悟空薪水:7000.0

很遗憾,最想完成的第六个功能“按照薪水从高到低 输出信息”的功能没有实现,研究半天没有实现,留着后面再看!现在首要的是熟悉一下ArrayList的用法!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐