网吧管理系统管理员中管理员对用户时间进行把控实现java代码
时间: 2024-03-03 22:51:03 浏览: 65
基于java技术的网吧管理计费系统的设计与实现.docx
下面是一个简单的网吧管理系统 Java 代码示例,实现管理员对用户时间进行把控:
```
import java.util.Date;
// 用户类
class User {
private String name; // 用户名
private int time; // 剩余使用时间
public User(String name, int time) {
this.name = name;
this.time = time;
}
public String getName() {
return name;
}
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
// 判断用户是否还有剩余时间
public boolean hasTime() {
return time > 0;
}
}
// 管理员类
class Admin {
private static final int MAX_TIME = 120; // 用户最大使用时间
private static final int MIN_TIME = 10; // 用户最小使用时间
private static final int PRICE = 1; // 单价,每分钟 1 元
private static final int INTERVAL = 60; // 计费间隔,每 60 秒计费一次
// 开始计费
public void startBilling(User user) {
while (user.hasTime()) {
try {
Thread.sleep(INTERVAL * 1000); // 等待计费间隔
} catch (InterruptedException e) {
e.printStackTrace();
}
user.setTime(user.getTime() - INTERVAL); // 扣除使用时间
if (user.getTime() % 60 == 0) {
int cost = (MAX_TIME - user.getTime()) / 60 * PRICE; // 计算费用
System.out.println(new Date() + ": " + user.getName() + " 使用时间剩余 " + user.getTime() + " 秒,已扣费用 " + cost + " 元。");
}
}
System.out.println(new Date() + ": " + user.getName() + " 使用时间已用完。");
}
// 注册新用户
public User register(String name, int time) {
if (time < MIN_TIME || time > MAX_TIME) {
System.out.println(new Date() + ": 注册失败,用户 " + name + " 使用时间不在范围内。");
return null;
}
User user = new User(name, time);
System.out.println(new Date() + ": 用户 " + name + " 注册成功,使用时间 " + time + " 秒。");
return user;
}
}
// 测试类
public class Main {
public static void main(String[] args) {
Admin admin = new Admin();
User user1 = admin.register("张三", 100);
if (user1 != null) {
admin.startBilling(user1);
}
User user2 = admin.register("李四", 150);
if (user2 != null) {
admin.startBilling(user2);
}
}
}
```
上述代码实现了一个简单的网吧管理系统,管理员可以注册新用户并对用户时间进行把控,当用户时间用完时会停止计费并提示用户已用完时间。在计费过程中,每隔 60 秒会计算一次费用并输出提示信息。
阅读全文