
1.1 功能要求
1.1.1 功能概况
本次设计要求运用面向对象设计知识,利用 JAVA 语言设计实现一个“小型公司工资管理系统”。
1.1.2 存储功能
能够存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。 其中,雇员级别分为经理、技术人员、销售人员和销售经理。四类人员的月薪计算方法如下:经理拿固定月薪;技术人员按小时领取月薪;销售人员按其当月销售额的提成领取工资;销售经理既拿固定月薪也领取销售提成。由此要求,该项目需要利用数据库的关系表存储数据。
1.1.3 添加功能
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。需要利用 Java 语言连接数据库,使用数据库添加语句。
1.1.4 查询功能
可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。利用 Java Swing 控件进行展示。
1.1.5 编辑功能
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
1.1.6 删除功能
主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录, 则提示“记录为空!”并返回 *** 作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
1.1.7 统计功能
能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息。利用数据库语句完成统计。
1.1.8 界面功能
利用 java 的 GUI 功能设计系统的图形用户界面,要求界面美观,易用。
Student 类public class Student
{
private int id
private int age
private int score
private String name
public Student()
{
}
public Student(int id, int age, int score, String name)
{
this.id = id
this.age = age
this.score = score
this.name = name
}
public int getId()
{
return id
}
public void setId(int id)
{
this.id = id
}
public int getAge()
{
return age
}
public void setAge(int age)
{
this.age = age
}
public int getScore()
{
return score
}
public void setScore(int score)
{
this.score = score
}
public String getName()
{
return name
}
public void setName(String name)
{
this.name = name
}
@Override
public String toString()
{
return "学号:" + id + " 姓名:" + name + " 年龄:" + age + " 成绩:" + score
}
}
Manager类
import java.util.ArrayList
import java.util.Iterator
import java.util.List
public class Manager
{
private List<Student>list
public Manager(List<Student>list)
{
this.list = list
}
public List<Student>getList()
{
return list
}
public void setList(List<Student>list)
{
this.list = list
}
//添加学生
public void add(Student s)
{
list.add(s)
}
//根据学生学号返回学生年龄
public int search(int id)
{
for(Iterator<Student>iter = list.iterator()iter.hasNext())
{
Student s = iter.next()
if(s.getId() == id)
{
return s.getAge()
}
}
return -1
}
//删除学生
public void remove(int id)
{
for(Iterator<Student>iter = list.iterator()iter.hasNext())
{
Student s = iter.next()
if(s.getId() == id)
{
list.remove(s)
}
}
}
//计算总成绩
public int allScore()
{
int score = 0
int temp = 0
for(Iterator<Student>iter = list.iterator()iter.hasNext())
{
Student s = iter.next()
temp = s.getScore()
score += temp
}
return score
}
//修改成绩
public void update(int id)
{
for(Iterator<Student>iter = list.iterator()iter.hasNext())
{
Student s = iter.next()
if(s.getId() == id)
{
s.setScore(s.getScore() + 10)
}
}
}
}
测试类 Client
import java.util.ArrayList
import java.util.List
public class Client
{
public static void main(String[] args)
{
List<Student>list = new ArrayList<Student>()
Manager manager = new Manager(list)//创建一个管理者
Student s1 = new Student()//无参构造方法创建的学生实例
//通过方法设置s1的属性
s1.setId(201105)
s1.setAge(20)
s1.setScore(100)
s1.setName("zhangsan")
Student s2 = new Student(201101,21,98,"lisi")//通过带参数的构造方法创建实例
Student s3 = new Student(201108,25,95,"zhaoliu")
Student s4 = new Student(201110,23,80,"xiaoming")
Student s5 = new Student(201106,28,78,"hello")
//放到集合当中
manager.getList().add(s1)//添加学生
manager.getList().add(s2)
manager.getList().add(s3)
manager.getList().add(s4)
manager.getList().add(s5)
System.out.println(list)
System.out.println(manager.allScore())
System.out.println(manager.search(201110))//根据学生学号查询学生年龄
manager.remove(201110)//删除学生
manager.update(201101)//修改成绩
}
}
可以完成你上述的基本要求,如果改动可以自行修改 很简单。
1、环境:下个tomcat服务器,下个java虚拟机,具体怎么安装网上一大堆2、发布(部署):1)将WebRoot整个文件夹拷到tomcat目录中的webapps下面,把名字改成superMarket
2)将superMarket(网上下下来的那个)下面的build目录下面的classes文件夹拷到刚才改名字的superMarket底下的WEB-INF下面
3、运行:启动tomcat服务器,打开浏览器,输入localhost:8080/superMarket/login.jsp即可
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)