java核心技术之 ArrayList应用 【职员薪水管理系统】

news/2024/7/5 18:33:35

职员薪水管理系统需求如下:

/**
* author:kevin
* date:20110-7-15
* function:use ArrayList to build a system of EmployeeSalaryMangement ,
* the system is useful for manager to add new employee'information,delete employee'information,
* update employee'information,and show employee'information.
* it's easy to obtain the OOP.
* */
import java.util.ArrayList;
import java.io.*;

public class EmployeeSalary {


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

//create object EmpManage
EmpManage empm = new EmpManage();

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
//create a menu
while(true)
{
System.out.println("select what you want to do");
System.out.println("select 1:insert new employee");
System.out.println("select 2:show information");
System.out.println("select 3:delete employee");
System.out.println("select 4:update salary");
System.out.println("select 5:excit");

String oper= br.readLine();
if (oper.equals("1")){
System.out.println("input number:");

String empNo = br.readLine();

System.out.println("input name:");

String empName = br.readLine();

System.out.println("input salary:");

float salary=Float.parseFloat(br.readLine());

Emp emp = new Emp(empNo,empName,salary);

empm.addEmp(emp);

}else if (oper.equals("2")){
System.out.println("input number:");

String empNo = br.readLine();

empm.showEmp(empNo);
}else if (oper.equals("3")){
System.out.println("input number:");

String empNo = br.readLine();

empm.delEmp(empNo);
}else if (oper.equals("4")){
System.out.println("input number:");

String empNo = br.readLine();

System.out.println("input new salary:");

float newSalary =Float.parseFloat(br.readLine()) ;

empm.updateEmp(empNo, newSalary);
}else if (oper.equals("5")){
//exit system.
System.exit(0);
}

}

}

}

//*****************************************************************


//class Employee
class Emp
{
private String empNo; //employee number
private String empName; //employee name
private float salary; //employee salary

public String getEmpNo() {
return empNo;
}
public void setEmpNo(String empNo) {
this.empNo = empNo;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}

public Emp(String empNo,String empName,float salary)
{
this.empNo = empNo;
this.empName = empName;
this.salary = salary;


}

}

//**********************************************************

//class EmployeeSalaryManage

class EmpManage
{
private ArrayList al = null;

public EmpManage()
{
al = new ArrayList();
}
//insert new employee
public void addEmp(Emp emp)
{
al.add(emp);
}
//show information
public void showEmp(String empNo)
{
for (int i= 0 ;i<al.size();i++)
{

//get object
Emp emp = (Emp)al.get(i);
if(emp.getEmpNo().equals(empNo))
{
System.out.println("The employee is founded:");
System.out.println("The employee'number:"+emp.getEmpNo());
System.out.println("The employee'name:"+emp.getEmpName());
System.out.println("The employee'salary:"+emp.getSalary());

}
}
}
//delete employee
public void delEmp(String empNo)
{
for (int i= 0 ;i<al.size();i++)
{

//get object
Emp emp = (Emp)al.get(i);
if(emp.getEmpNo().equals(empNo))
{
System.out.println("The employee which number is "+emp.getEmpNo()
+"is deleted successfully");
al.remove(i);

}
}
}

//update employee
public void updateEmp(String empNo,float newSalary)
{
for (int i= 0 ;i<al.size();i++)
{

//get object
Emp emp = (Emp)al.get(i);
if(emp.getEmpNo().equals(empNo))
{
emp.setSalary(newSalary);
System.out.println("update successfully");
}
}
}


}


http://www.niftyadmin.cn/n/1958823.html

相关文章

结合存储过程开发数据库应用程

存储过程提供了数据驱动应用程序中的许多优点。利用存储过程&#xff0c;数据库操作可以封装在单个命令中&#xff0c;为获取最佳性能而进行优化并通过附加的安全性得到增强&#xff1b;利用存储过程&#xff0c;还可以获得sql语句的重用&#xff0c;节省开发时间。在.NET中&am…

python-操作postgresql

PostgreSQL 至少有至少 3 个 Python 接口程序可以访问 PosgreSQL: psycopg, PyPgSQL 和 PyGreSQL. 第四个, PoPy, 现在已经被废弃(2003年, 它贡献出自己的代码, 与PygreSQL整合在一起). 这三个接口程序各有长处, 各有缺点, 根据实践结果选择使用哪个接口是个好主意. 多亏他们…

C++数据库操作并生成ini文件。

我最近在学习C,刚学了半个月吧&#xff0c;带我的导师就开始让我写一个利用c来开发个工具&#xff0c;这可难坏我了&#xff0c;起初以为根本弄不出来。但是经过不停的修改&#xff0c;导师的带领最终还是弄出来了。明白做技术的在不懈的努力下&#xff0c;肯定会把结果弄出来的…

将世界坐标转成NGUI坐标

http://blog.csdn.net/anyuanlzh/article/details/40072051 将世界坐标转成NGUI坐标&#xff0c;这个中间需要一个屏幕坐标&#xff0c;可参考如下代码&#xff1a; [html] view plaincopy/// <summary> /// 将世界坐标转成UI坐标 /// </summary> /// <pa…

django-构造第一个blog

1、安装好postgresql和psycopg2 2、django-admin.py startproject blog 3、manage.py startapp myblog 4、打开models.py 并编辑 #!/usr/bin/env python from django.db import modelsclass BlogPost(models.Model):titlemodels.CharField(max_length150)bodymodels.TextFi…

Dreamweaver MX认证考试(样题)

Dreamweaver MX认证考试(样题) http://www.gz35.com/new1/list.asp?boardid3  Macromedia Dreamweaver MX认证考试(样题) 作者&#xff1a; 1. 下面关于New Style&#xff08;新样式&#xff09;对话框的说法错误的是&#xff1a;□ A. 可以选择Make Custom Style&#xff08…

2011.7.11-7.15 周总结

在这一周中&#xff0c;已经实现了从串口读出数据的过程&#xff0c;包括NMEA-0183格式的数据及二进制格式的数据。 同时对从模拟器读出的数据进行了分析&#xff0c;对照数据说明分析具体消息的内容是否相符&#xff0c;其中发现有1至2项不相符的情况&#xff0c;不知是模拟器…

2023年05月份青少年软件编程Python等级考试试卷三级真题(含答案)

2023-05 Python三级真题 题数&#xff1a;38 分数&#xff1a;100 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 请选择&#xff0c;下面代码运行之后的结果是&#xff1f;&#xff08; &#xff09;&#xff08;2分&#xff09; a 2 b 4 try:…