java考勤程序,请为一个公司编写程序记录公司员工出勤情况

本文介绍了使用UDP协议设计一个Java考勤程序的方法,通过服务器端接收并处理客户端发送的员工出勤信息,来记录公司的员工出勤情况。
摘要由CSDN通过智能技术生成

员工可通过客户端向服务器端发送数据表示到达公司,服务端发送消息确认,统计所有员工出勤情况,存放于一个指定文件中。

  • 用UDP做法:
  • 服务器端:
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Date;
import javax.swing.JFrame;

public class CheckServer extends JFrame{
   
public static void main(String[] args) {
   
  DatagramSocket dSocket;
  DatagramPacket inPacket;
  DatagramPacket outPacket;
  InetAddress  cAddr;
  int cPort;
  byte[]  inBuffer = new byte[100];
  byte[] outBuffer;
  String s;
  try {
   
   dSocket = new DatagramSocket(8000);
   while(true) {
   
    inPacket=new DatagramPacket(inBuffer,
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基本的员工考勤管理系统的程序,具体实现如下: 1. 定义员工类 首先,我们需要定义一个员工类来存储每个员工的信息,包括姓名、工号、所在部门、职位等等。代码如下: ```java public class Employee { private String name; // 员工姓名 private String id; // 员工工号 private String department; // 员工所在部门 private String position; // 员工职位 // 构造函数 public Employee(String name, String id, String department, String position) { this.name = name; this.id = id; this.department = department; this.position = position; } // 获取员工姓名 public String getName() { return name; } // 获取员工工号 public String getId() { return id; } // 获取员工所在部门 public String getDepartment() { return department; } // 获取员工职位 public String getPosition() { return position; } } ``` 2. 定义考勤类 接下来,我们需要定义一个考勤类来存储每个员工考勤信息,包括日期、上班时间、下班时间等等。代码如下: ```java public class Attendance { private String date; // 考勤日期 private String id; // 员工工号 private String onTime; // 上班时间 private String offTime; // 下班时间 // 构造函数 public Attendance(String date, String id, String onTime, String offTime) { this.date = date; this.id = id; this.onTime = onTime; this.offTime = offTime; } // 获取考勤日期 public String getDate() { return date; } // 获取员工工号 public String getId() { return id; } // 获取上班时间 public String getOnTime() { return onTime; } // 获取下班时间 public String getOffTime() { return offTime; } } ``` 3. 编写管理系统主程序 最后,我们需要编写一个程序来实现员工考勤管理系统的功能,包括添加员工、添加考勤记录、查询考勤记录等等。代码如下: ```java import java.util.ArrayList; import java.util.Scanner; public class AttendanceManagementSystem { private static ArrayList<Employee> employees = new ArrayList<>(); // 员工列表 private static ArrayList<Attendance> attendances = new ArrayList<>(); // 考勤记录列表 // 添加员工 private static void addEmployee() { Scanner scanner = new Scanner(System.in); System.out.print("输入员工姓名:"); String name = scanner.next(); System.out.print("输入员工工号:"); String id = scanner.next(); System.out.print("输入员工所在部门:"); String department = scanner.next(); System.out.print("输入员工职位:"); String position = scanner.next(); Employee employee = new Employee(name, id, department, position); employees.add(employee); System.out.println("添加成功!"); } // 添加考勤记录 private static void addAttendance() { Scanner scanner = new Scanner(System.in); System.out.print("输入考勤日期(格式:yyyy-MM-dd):"); String date = scanner.next(); System.out.print("输入员工工号:"); String id = scanner.next(); System.out.print("输入上班时间(格式:HH:mm):"); String onTime = scanner.next(); System.out.print("输入下班时间(格式:HH:mm):"); String offTime = scanner.next(); Attendance attendance = new Attendance(date, id, onTime, offTime); attendances.add(attendance); System.out.println("添加成功!"); } // 查询考勤记录 private static void queryAttendance() { Scanner scanner = new Scanner(System.in); System.out.print("输入员工工号:"); String id = scanner.next(); System.out.print("输入考勤日期(格式:yyyy-MM-dd):"); String date = scanner.next(); for (Attendance attendance : attendances) { if (attendance.getId().equals(id) && attendance.getDate().equals(date)) { System.out.println("员工姓名:" + getEmployeeName(id)); System.out.println("考勤日期:" + attendance.getDate()); System.out.println("上班时间:" + attendance.getOnTime()); System.out.println("下班时间:" + attendance.getOffTime()); return; } } System.out.println("未找到指定考勤记录!"); } // 获取员工姓名 private static String getEmployeeName(String id) { for (Employee employee : employees) { if (employee.getId().equals(id)) { return employee.getName(); } } return "未知"; } // 主函数 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 主菜单 while (true) { System.out.println("========== 员工考勤管理系统 =========="); System.out.println("1. 添加员工"); System.out.println("2. 添加考勤记录"); System.out.println("3. 查询考勤记录"); System.out.println("4. 退系统"); System.out.print("选择操作:"); int choice = scanner.nextInt(); switch (choice) { case 1: addEmployee(); break; case 2: addAttendance(); break; case 3: queryAttendance(); break; case 4: System.out.println("谢谢使用!"); System.exit(0); default: System.out.println("输入有误,重新输入!"); } } } } ``` 这个程序可以实现添加员工、添加考勤记录、查询考勤记录等功能,您可以根据需要进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值