- 浏览: 58516 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
kkkk9023:
Java SE 自动排课系统基础实现 -
Gevilk:
WritableWorkbook book = Workb ...
Java SE 自动排课系统基础实现 -
Gevilk:
...
Java SE 自动排课系统基础实现 -
zhouwendong006:
这个怎么做测试啊?我怎么看不到效果?
EJB:事件驱动 bean ---Queue -
youngmaster:
sailinglee 写道不支持ff哦 的确是很大的缺憾
可以拖动的表格,实现新浪博客效果
package com.youngmaster; import java.util.Scanner; /** * application name Employee.java * copyright Copyright 2008 少爷 版权所有 * company personal * time 2009-3-22 * * @author youngmaster * @version ver 1.0 */ //Employee类 class Employee{ //Employee类属性 private int id; private String name; private int grade; private int basicSalary; private int factSalary; public Employee(){//默认构造函数 } public Employee(int id,String name,int grade,int basicSalary){//构造函数 this.id = id; this.name = name; this.grade = grade; this.basicSalary = basicSalary; } public int getId(){//获得ID return id; } public void setId(int id){//设定ID this.id = id; } public String getName(){//获得姓名 return name; } public void setName(String name){//设定姓名 this.name = name; } public int getGrade(){//获得等级 return grade; } public void setGrade(int grade){//设定等级 this.grade = grade; } public int getBasicSalary(){//获得基本工资 return basicSalary; } public void setBasicSalary(int basicSalary){//设定基本工资 this.basicSalary = basicSalary; } public int getFactSalary(){//获得基本工资 return factSalary; } public void setFactSalary(int factSalary){//设定基本工资 this.factSalary = factSalary; } } //Manager 类 class Manager{ private int count = 0;//计数器,记下所有添加的记录 private int i; Scanner sc = new Scanner(System.in); Employee[] emp = new Employee[1000];//可包含1000条记录,为Employee类集合 //插入员工 public void insertEmp(){ System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t**************添加员工*************"); System.out.print("\t\t请输入ID:"); int num1 = sc.nextInt(); System.out.print("\t\t请输入员工名:"); String name = sc.next(); System.out.print("\t\t请输入员工等级:"); int num2 = sc.nextInt(); System.out.print("\t\t请输入员工的基本工资:"); int wage = sc.nextInt(); emp[count] = new Employee(num1,name,num2,wage); count ++; } //依ID删除员工 public void deletEmpById(){ int i,k= 0; boolean flag = false; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); System.out.print("\t\t请选择您将删除的ID:"); int key = sc.nextInt(); for(i=0;i<count;i++){ if(key == emp[i].getId()){ flag = true; k = i; break; } } if(flag == false){ System.out.printf("\n\t\t不存在ID为 %d 的员工\n",key); } if(flag == true){ for(i=k;i<count;i++){ emp[i] = emp[i+1]; } count --; } } //显示所有员工 public void showAllEmps(){ int i; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t****************************************"); System.out.println("\t\t|-------------------------------------|"); System.out.println("\t\t| ID | 员工名 | 等级 | 基本工资 |"); System.out.println("\t\t|-------------------------------------|"); for(i=0;i<count;i++){ System.out.printf("\t\t| %d | %s | %d | %d |",emp[i].getId(),emp[i].getName(),emp[i].getGrade(),emp [i].getBasicSalary()); System.out.println(); } } //依ID查询员工 public void showEmpById(){ int i; boolean flag = false; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); System.out.println("\n\t\t-----------------------------"); System.out.print("\t\t请输入您要查询的ID:"); int input = sc.nextInt(); for(i=0;i<count;i++){ if(input == emp[i].getId()){ System.out.println("\t\t|-------------------------------------|"); System.out.println("\t\t| ID | 员工名 | 等级 | 基本工资 |"); System.out.printf("\t\t| %d | %s | %d | %d |",emp[i].getId(),emp[i].getName(),emp[i].getGrade(),emp [i].getBasicSalary()); flag = true; break; } } if(flag == false){ System.out.printf("\n\t\t不存在ID为 %d 的员工,请重新尝试!",input); showEmpById(); } } //更新员工信息 public void updateEmp(){ boolean flag = false; int i = 0; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); System.out.print("\n\t\t请输入您需要的ID:"); int num = sc.nextInt(); for(i=0;i<count;i++){ if(num == emp[i].getId()){ System.out.print("\n\t\tID:"); int id = sc.nextInt(); System.out.print("\t\t员工姓名:"); String name = sc.next(); System.out.print("\t\t员工等级:"); int grade = sc.nextInt(); System.out.print("\t\t基本工资:"); int basicSalary = sc.nextInt(); int factSalary = emp[i].getBasicSalary() + emp[i].getGrade()*500; emp[i].setFactSalary(factSalary); emp[i]=new Employee(id,name,grade,basicSalary); flag = true; break; } } if(flag == false){ System.out.printf("\n\t\t不存在ID为 %d 的员工,请重新尝试!\n",num); updateEmp(); } } //计算工资 public void computeSalary(){ int i = 0; boolean flag = false; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); System.out.print("\n\t\t请输入ID:"); int num = sc.nextInt(); for(i=0;i<count;i++){ if(num == emp[i].getId()) { System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t***********************************************"); System.out.println("\t\t|--------------------------------------------|"); System.out.println("\t\t| ID | 员工名 | 等级 | 基本工资 | 实际工资 |"); System.out.printf("\t\t| %d | %s | %d | %d | %d |",emp[i].getId(),emp[i].getName(),emp[i].getGrade (),emp[i].getBasicSalary(),(emp[i].getBasicSalary() + emp[i].getGrade()*500)); flag = true; break; } } if(flag == false){ System.out.printf("\n\t\t工号为 %d 的员工不存在,请重新尝试!\n",num); computeSalary(); } } //显示所有工资 public void showAllSalary(){ int i; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t***********************************************"); System.out.println("\t\t|--------------------------------------------|"); System.out.println("\t\t| ID | 员工名 | 等级 | 基本工资 | 实际工资 |"); System.out.println("\t\t|--------------------------------------------|"); for(i=0;i<count;i++){ System.out.printf("\t\t| %d | %s | %d | %d | %d |",emp[i].getId(),emp[i].getName(),emp[i].getGrade (),emp[i].getBasicSalary(),(emp[i].getBasicSalary() + emp[i].getGrade()*500)); System.out.println(); } } //依ID查询工资 public void showSalaryById(){ int i; boolean flag = false; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); System.out.print("\n\t\t请输入您要查询的ID:"); int input = sc.nextInt(); for(i=0;i<count;i++){ if(input == emp[i].getId()){ System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t***********************************************"); System.out.println("\t\t|--------------------------------------------|"); System.out.println("\t\t| ID | 员工名 | 等级 | 基本工资 | 实际工资 |"); System.out.printf("\t\t| %d | %s | %d | %d | %d |",emp[i].getId(),emp[i].getName(),emp[i].getGrade (),emp[i].getBasicSalary(), (emp[i].getBasicSalary() + emp[i].getGrade()*500)); flag = true; break; } } if(flag == false){ System.out.printf("\n\t\t不存在ID为 %d 的员工,请重新尝试!\n",input); showSalaryById(); } } //工资更新 public void updateSalary(){ int i; boolean flag = false; System.out.println("\n\t\t****************************************************"); System.out.println("\n\t\t请输入您要更改工资的员工的ID和基本工资:"); System.out.print("\t\tID:"); int num = sc.nextInt(); System.out.print("\t\t基本工资:"); int newBasicSalary = sc.nextInt(); for(i=0;i<count;i++){ if(num == emp[i].getId()){ emp[i].setBasicSalary(newBasicSalary); emp[i].setFactSalary(emp[i].getBasicSalary() + emp[i].getGrade() * 500); flag = true; break; } } System.out.println("\t\t|--------------------------------------------|"); System.out.println("\t\t| ID | 员工名 | 等级 | 基本工资 | 实际工资 |"); if(flag == true){ for(i =0;i<count;i++){ System.out.printf("\t\t| %d | %s | %d | %d | %d |",emp[i].getId(),emp[i].getName(),emp[i].getGrade (),emp[i].getBasicSalary(),(emp[i].getBasicSalary() + emp[i].getGrade()*500)); } } if(flag == false){ System.out.printf("\n\t\t不存在ID为 %d 的员工,请重新尝试!\n",num); updateSalary(); } } } //Controller类 class Controller{ Manager manager = new Manager(); //登录菜单 public void showLoginMenu(){ System.out.println("\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); while(true){ Scanner sc = new Scanner(System.in); System.out.print("\t\t姓名:"); String name = sc.next(); System.out.print("\t\t密码:"); Eraser eraser = new Eraser('*'); Thread eraserThread = new Thread(eraser); eraserThread.start(); //启动一个线程 String password = sc.next(); eraser.setActive(false); System.out.println(); if("master".equals(name)&&"007".equals(password)){ System.out.printf("\t\t%s ,您已经登录成功!\n\n",name); break; } else{ System.out.println("\t\t您的登录名或密码错误,请重新尝试!\n"); showLoginMenu(); } } } //主菜单 public void showMainMenu(){ System.out.println("\t\t欢迎使用企业人事管理系统\n" +"\t\t*****************************"); System.out.println("\t\t请选择您要进行的操作"); System.out.println("\t\t1.员工信息管理"); System.out.println("\t\t2.工资结算管理"); System.out.print("\n\t\t返回请按 9 ,请选择您需要的菜单(1,2,9):");//返回请按 9 Scanner sc = new Scanner(System.in);//是否可放在类声明区域 int num1 = sc.nextInt(); switch(num1){ case 1: showEmpMenu();break;//调用本类内部方法 case 2: showSalaryMenu();break;//调用本类内部方法 case 9: showLoginMenu();break; default: System.out.println("\t\t输入错误,请重新尝试!"); showMainMenu();break; } } //员工菜单 public void showEmpMenu(){ boolean flag = true; System.out.println("\n\t\t欢迎使用企业人事管理系统"); System.out.println("\t\t*****************************"); System.out.println("\t\t1.增加员工信息"); System.out.println("\t\t2.删除员工信息"); System.out.println("\t\t3.显示员工信息"); System.out.println("\t\t4.显示特定员工"); System.out.println("\t\t5.更新员工信息"); System.out.print("\n\t\t返回请按 9,请选择您需要的操作(1,2,3,4,5,9):"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); switch(num){ case 1: while(flag){ manager.insertEmp(); System.out.print("\n\t\t插入成功!返回上一级菜单请按 9,继续添加请按1:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showEmpMenu();break; case 2: while(flag){ manager.deletEmpById(); System.out.print("\n\t\t删除成功!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showEmpMenu();break; case 3: while(flag){ manager.showAllEmps(); System.out.print("\n\t\t显示完毕!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showEmpMenu();break; case 4: while(flag){ manager.showEmpById(); System.out.print("\n\t\t查询完毕!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showEmpMenu();break; case 5: while(flag){ manager.updateEmp(); System.out.print("\n\t\t更新完毕!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showEmpMenu();break; case 9: showMainMenu();break; default: System.out.println("\t\t输入错误,请重新选择!"); showEmpMenu();break; } } //工资菜单 public void showSalaryMenu(){ System.out.println("\n\t\t欢迎使用企业人事管理系统\n" +"\t\t*****************************"); System.out.print("\t\t请选择以下操作\n"); System.out.println("\t\t1.计算员工工资"); System.out.println("\t\t2.显示所有工资"); System.out.println("\t\t3.查询员工工资"); System.out.println("\t\t4.更新员工工资"); System.out.print("\n\t\t返回请按 9,请选择您需要的操作(1,2,3,4,9):"); boolean flag = true; Scanner sc = new Scanner(System.in); int num = sc.nextInt(); switch(num){ case 1: while(flag){ manager.computeSalary(); System.out.print("\n\t\t操作成功!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showSalaryMenu();break; case 2: while(flag){ manager.showAllSalary(); System.out.print("\n\t\t操作成功!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showSalaryMenu();break; case 3: while(flag){ manager.showSalaryById(); System.out.print("\n\t\t查询完毕!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showSalaryMenu();break; case 4: while(flag){ manager.updateSalary(); System.out.print("\n\t\t更新完毕!返回上一级菜单请按 9:"); int num1 = sc.nextInt(); if(num1 == 9){ flag = false; } } showSalaryMenu();break; case 9: showMainMenu();break; default: System.out.println("\t\t输入错误,请重新选择!"); showSalaryMenu();break; } } } //屏蔽密码(接口实现) class Eraser implements Runnable{ private boolean active; private String mask; public Eraser(){ this('*'); } public Eraser(char maskChar){ active = true; mask ="\010"+maskChar; } public void setActive(boolean active){ this.active = active; } public boolean isActive(){ return active; } public void run(){ while(isActive()){ System.out.print(mask); } } } //程序入口 public class EPMS{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); Controller con = new Controller(); System.out.println("\t\t欢迎使用企业人事管理系统\n" +"\t\t*****************************\n" +"\t\t1.登录系统\n" +"\t\t2.退出\n"); System.out.print("\t\t请选择(1,2):"); int num = scanner.nextInt(); System.out.println(); switch(num){ case 1: con.showLoginMenu();break; case 2: System.exit(0);break; } con.showMainMenu();//显示主菜单,进而提供更多功能 } }
发表评论
-
Java中的120个经典问题 回顾之四
2009-10-12 21:05 104472、EJB的角色和三个对象 一个完整的基 ... -
Java中的120个经典问题 回顾之三
2009-10-12 21:03 101561、servlet的生命周 ... -
Java中的120个经典问题 回顾之二
2009-10-12 21:00 109216、同步和异步有何异 ... -
Java中的120个经典问题 回顾之一
2009-10-12 20:55 10121、面向对象的特征有哪些方面 1.抽象:抽象就是 ... -
Java 客户端服务器程序 学习笔记
2009-07-20 11:36 2032//Server.java package com.mu ... -
学生成绩管理系统
2009-05-05 09:53 1472最近写了一个学生成绩管理系统,实现了大部分代码...感觉有段时 ... -
Java实现:类windows平台下简易数制转换源代码
2009-04-21 22:33 1583package com.youngmaster; imp ... -
Java SE 自动排课系统基础实现
2009-04-19 21:18 7638//Class.java package com.you ...
相关推荐
这个学习总结涵盖了从基础到高级的Java编程知识点,旨在帮助初学者建立坚实的编程基础,同时也适合有经验的开发者进行回顾和提升。下面将详细阐述Java SE中的重要概念和技能。 1. **基础语法**:Java是一种强类型、...
6. 信息管理系统:文档中提到的管理系统,说明这是一个特定功能的信息管理系统,用于超市的人力资源管理。信息管理系统通常包括各种数据库操作,例如数据的增删改查,以及对应的业务逻辑处理。 7. 人力资源管理...
这份“java程序设计考试试题及答案.doc”文档很显然是为了帮助学习者准备Java编程相关的考试,或者是作为复习材料来使用的。它可能包含了各种类型的题目,如选择题、填空题、简答题以及编程题,覆盖了Java语言的基础...
这份"Java基础思维导图"涵盖了Java SE(标准版)的核心概念,旨在帮助学习者系统地理解和记忆Java编程的关键知识点。思维导图是一种有效的学习工具,它通过图形化的方式将复杂的知识结构清晰地呈现出来,便于快速...
Java图书馆管理系统是一款使用Java编程语言开发的应用软件,主要目的是为了方便图书馆进行图书的管理和借阅操作。这个系统充分利用了Java的强大功能,尤其是其面向对象的设计哲学,为用户提供了一个直观、易用的界面...
11. **Java SE和Java EE的区别**:Java SE(标准版)是基础平台,而Java EE(企业版)添加了服务器端开发的支持,如Servlet、JSP和EJB。 12. **Java虚拟机(JVM)**:理解JVM的工作原理,包括类加载、内存管理和...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是简洁、高效且可移植性强,被应用于各种领域,如Web开发、移动应用(尤其是Android平台)、企业...
通过学习这份北京大学的Java讲义,初学者不仅可以掌握Java语言的基本语法,还能了解其核心概念和常用库的使用,为进一步深入学习Java编程和相关框架打下坚实的基础。同时,这份讲义也适合有一定经验的开发者回顾和...
该课程旨在帮助学生掌握Java编程的基础与高级特性,并通过实践项目加深理解。 #### 二、课程书籍推荐 - **主教材**:《Java Programming》作者 Walter Savitch 和 Frank Carrano,ISBN: 0131354515。新版教材同样...
12. **Java标准库**:Java SE(Standard Edition)提供了一系列丰富的类库,如IO流、集合、网络编程、XML处理等,这些都可以在实际编程中直接使用。 13. **调试与测试**:了解如何使用IDE(如Eclipse、IntelliJ ...
这些笔记将有助于初学者系统地学习和理解Java SE的核心概念,同时也对有经验的开发者回顾和巩固基础知识大有裨益。李兴华老师的课堂笔记通过实例和清晰的解释,将理论知识与实践操作相结合,使得学习过程更加生动...
在追求Oracle Certified Java SE 11 Developer认证的过程中,你需要深入理解和掌握Java这门强大的编程语言。这个学习计划旨在1.5个月内帮助你达到专业级别的Java技能。以下是一份详细的Java学习指南,涵盖从基础到...
10. **Java SE, EE, ME**:Java Standard Edition (SE) 是基础平台,适用于桌面应用。Java Enterprise Edition (EE) 用于企业级应用,包括Web服务和分布式系统。Java Micro Edition (ME) 适用于嵌入式设备和移动设备...
4. **Java基础**:简要回顾Java语言的基础知识及其在RIA中的作用。 5. **Java服务器端开发**:介绍如何使用Java进行服务器端编程,包括数据库连接、Web服务开发等。 6. **Flex与Java集成**:详细讲解如何将Flex...
《Java核心技术》这本书是Java学习者和开发者必备的经典之作,它涵盖了Java语言的基础知识以及高级特性,为读者提供了一个系统性的学习框架。 ### 第十版更新要点 #### 1. Java SE 9新特性 随着Java SE 9的发布,...
Java编程语言是信息技术领域中最广泛使用的编程语言之一,尤其在企业级应用开发中占据着核心地位。本笔记将深入探讨Java的关键概念和技术,帮助你掌握这个强大的编程工具。 1. **Java简介** Java是由Sun ...
1. **Java基础**:首先,课程可能会回顾Java的基础知识,包括Java环境的搭建、编写与运行第一个Java程序,以及了解Java的语法结构,如变量、常量、数据类型和运算符。 2. **类与对象**:作为面向对象编程的核心,...
Java软件工程师是信息技术行业中至关重要的角色,他们负责设计、开发、测试和维护使用Java编程语言构建的软件系统。Java以其跨平台性、稳定性和高效性,广泛应用于企业级应用、移动应用(尤其是Android)、大数据...
在信息化时代,高效的信息管理系统对于任何组织都至关重要。特别是在高校环境中,随着学生数量的增加以及信息量的爆炸式增长,传统的手工管理模式已经无法满足需求。因此,《Java程序设计》课程设计选择了“简单图书...
在深入探讨Java英语词汇之前,我们先简要回顾一下这些词汇的基本含义以及它们在Java编程中的应用场景。 #### primitive ['primitiv] 原始 - **含义**:指基本数据类型,如`int`, `float`, `char`等。 - **应用场景*...