package com.zhp.yggl;
public
class YuanGong {
private String
id;
private String
name;
private String
zw;
private
int
qjts;
private
int
jbgz;
public YuanGong() {
super();
//
TODO
Auto-generated constructor stub
}
public YuanGong(String
id, String
name, String
zw,
int
qjts,
int
jbgz) {
super();
this.
id =
id;
this.
name =
name;
this.
zw =
zw;
this.
qjts =
qjts;
this.
jbgz =
jbgz;
}
public String getId() {
return
id;
}
public
void setId(String
id) {
this.
id =
id;
}
public String getName() {
return
name;
}
public
void setName(String
name) {
this.
name =
name;
}
public String getZw() {
return
zw;
}
public
void setZw(String
zw) {
this.
zw =
zw;
}
public
int getQjts() {
return
qjts;
}
public
void setQjts(
int
qjts) {
this.
qjts =
qjts;
}
public
int getJbgz() {
return
jbgz;
}
public
void setJbgz(
int
jbgz) {
this.
jbgz =
jbgz;
}
public
double gz() {
return
jbgz +
jbgz * 0.6 + 200-
jbgz/30*
qjts;
}
@Override
public String toString() {
return
"编号:" +
id +
" 姓名" +
name +
" 职务:" +
zw +
" 请假天数:" +
qjts +
" 工资" + gz();
}
}
package com.zhp.yggl;
public
class PTYuanGong
extends YuanGong{
public PTYuanGong() {
super();
}
public PTYuanGong(String
id, String
name, String
zw,
int
qjts,
int
jbgz) {
super(
id,
name,
zw,
qjts,
jbgz);
}
@Override
public
double gz() {
return
super.gz();
}
@Override
public String toString() {
return
super.toString();
}
}
package com.zhp.yggl;
public
class JingLi
extends YuanGong {
public JingLi() {
super();
}
public JingLi(String
id, String
name, String
zw,
int
qjts,
int
jbgz) {
super(
id,
name,
zw,
qjts,
jbgz);
}
@Override
public
double gz() {
return getJbgz() + getJbgz() * 0.7 + 500 - getJbgz() / 30 * getQjts();
}
@Override
public String toString() {
return
"编号:" + getId() +
" 姓名" + getName() +
" 职务:" + getZw() +
" 请假天数:" + getQjts() +
" 工资" + gz();
}
}
package com.zhp.yggl;
public
class DongShi
extends YuanGong {
public DongShi() {
super();
}
public DongShi(String
id, String
name, String
zw,
int
qjts,
int
jbgz) {
super(
id,
name,
zw,
qjts,
jbgz);
}
@Override
public
double gz() {
return getJbgz() + getJbgz() * 0.38 + 5000 - getJbgz() / 30 * getQjts();
}
@Override
public String toString() {
return
"编号:" + getId() +
" 姓名" + getName() +
" 职务:" + getZw() +
" 请假天数:" + getQjts() +
" 工资" + gz();
}
}
package com.zhp.yggl;
import java.util.Scanner;
public
class GongNeng {
Scanner
sc =
new Scanner(System.
in);
YuanGong[]
arr =
new YuanGong[100];
int
current = -1;
// 用于保存当前数组中员工对象的下标
public
void yeWu() {
int
x = 0;
while (
true) {
System.
out.println(
"请选择业务");
System.
out.println(
"--------------------员工管理系统--------------------");
System.
out.println(
"1.添加 2.删除 3.修改 4.查询所有 5.根据姓名查询 0.退出");
System.
out.println(
"--------------------员工管理系统--------------------");
x =
sc.nextInt();
if (
x == 1) {
add();
}
else
if (
x == 2) {
del();
}
else
if (
x == 3) {
update();
}
else
if (
x == 4) {
selectAll();
}
else
if (
x == 5) {
selectName();
}
else
if (
x == 0) {
exit();
break;
}
else {
System.
out.println(
"请选择正确的功能");
}
}
}
// 添加
public
void add() {
System.
out.println(
"--------------------添加员工--------------------");
System.
out.print(
"请输入员工编号");
String
q =
sc.nextLine();
String
id =
sc.nextLine();
System.
out.print(
"请输入员工姓名");
String
name =
sc.nextLine();
System.
out.print(
"请输入职务(普通员工,经理,董事长)");
String
zw =
sc.nextLine();
System.
out.print(
"请输入请假天数");
int
qjts =
sc.nextInt();
System.
out.print(
"请输入基本工资");
int
jbgz =
sc.nextInt();
if(
zw.equals(
"普通员工")){
PTYuanGong
yg =
new PTYuanGong(
id,
name,
zw,
qjts,
jbgz);
current++;
arr[
current] =
yg;
}
else
if(
zw.equals(
"经理")){
current++;
JingLi
jl =
new JingLi(
id,
name,
zw,
qjts,
jbgz);
arr[
current] =
jl;
}
else
if(
zw.equals(
"董事")){
current++;
DongShi
ds =
new DongShi(
id,
name,
zw,
qjts,
jbgz);
arr[
current] =
ds;
}
else{
System.
out.println(
"请输入正确的职务");
}
}
// 删除
public
void del() {
System.
out.println(
"--------------------删除员工--------------------");
System.
out.println(
"请输入员工姓名:");
String
q =
sc.nextLine();
String
name1 =
sc.nextLine();
boolean
flag =
false;
for (
int
i = 0;
i <=
current;
i++) {
if (
name1.equals(
arr[
i].getName())) {
System.
out.println(
arr[
i].toString());
System.
out.println(
"确定么?1(是)0(否)");
int
a =
sc.nextInt();
if (
a == 1) {
System.
out.println(
"删除成功");
flag =
true;
}
// 此处if放在判断名字的if内,名字不相等是不进入此处if
if (
flag) {
// 此处for循环j<=current也可以,因为最后current--掉了
for (
int
j =
i;
j <=
current - 1;
j++) {
arr[
j] =
arr[
j + 1];
}
current--;
}
}
}
if (
flag ==
false) {
System.
out.println(
"此员工不存在");
}
}
// 修改
public
void update() {
System.
out.println(
"--------------------修改员工信息--------------------");
System.
out.println(
"请输入员工姓名:");
String
q =
sc.nextLine();
String
name1 =
sc.nextLine();
boolean
flag =
false;
for (
int
i = 0;
i <=
current;
i++) {
if (
name1.equals(
arr[
i].getName())) {
flag =
true;
}
if (
flag) {
System.
out.println(
"请重新输入员工信息");
System.
out.print(
"请输入编号");
String
w =
sc.nextLine();
String
id =
sc.nextLine();
System.
out.print(
"请输入姓名");
String
name =
sc.nextLine();
System.
out.print(
"请输入职务");
String
zw =
sc.nextLine();
System.
out.print(
"请输入请假天数");
int
qjts =
sc.nextInt();
System.
out.print(
"请输入基本工资");
int
jbgz =
sc.nextInt();
arr[
i] =
new YuanGong(
id,
name,
zw,
qjts,
jbgz);
}
}
if (
flag ==
false) {
System.
out.println(
"此员工不存在");
}
}
// 查看所有的
public
void selectAll() {
System.
out.println(
"--------------------查看所有员工信息--------------------");
for (
int
i = 0;
i <=
current;
i++) {
System.
out.println(
arr[
i].toString());
}
}
// 根据姓名查看
public
void selectName() {
System.
out.println(
"--------------------查找员工--------------------");
System.
out.println(
"请输入员工姓名:");
String
q =
sc.nextLine();
String
name1 =
sc.nextLine();
boolean
flag =
false;
for (
int
i = 0;
i <=
current;
i++) {
if (
name1.equals(
arr[
i].getName())) {
flag =
true;
}
if (
flag) {
System.
out.println(
arr[
i].toString());
break;
}
}
if (
flag ==
false) {
System.
out.println(
"不存在此人");
}
}
// 退出
public
void exit() {
System.
out.println(
"系统退出");
}
}
package com.zhp.yggl;
public
class Test {
public
static
void main(String[]
args) {
GongNeng
gn =
new GongNeng();
gn.yeWu();
}
}