用java写一个网吧管理系统,写出源代码
时间: 2024-03-08 16:50:10 浏览: 24
好的,下面给出一个简单的网吧管理系统的Java代码,包括用户登录和设备管理功能。这里使用命令行界面进行交互,你可以根据需要修改代码,添加其他功能。
```
import java.util.Scanner;
public class CybercafeSystem {
// 用户名和密码
private static final String USERNAME = "admin";
private static final String PASSWORD = "123456";
// 设备数量
private static final int NUM_COMPUTERS = 50;
private static final int NUM_PRINTERS = 10;
// 设备状态
private static boolean[] computerStatus = new boolean[NUM_COMPUTERS];
private static boolean[] printerStatus = new boolean[NUM_PRINTERS];
public static void main(String[] args) {
// 用户登录
Scanner scanner = new Scanner(System.in);
System.out.println("Welcome to Cybercafe System!");
System.out.print("Please enter username: ");
String username = scanner.nextLine();
System.out.print("Please enter password: ");
String password = scanner.nextLine();
if (!username.equals(USERNAME) || !password.equals(PASSWORD)) {
System.out.println("Invalid username or password!");
return;
}
// 设备管理
while (true) {
System.out.println("Please select operation:");
System.out.println("1. Computer Management");
System.out.println("2. Printer Management");
System.out.println("3. Exit");
int operation = scanner.nextInt();
if (operation == 3) {
break;
}
switch (operation) {
case 1:
computerManagement();
break;
case 2:
printerManagement();
break;
default:
System.out.println("Invalid operation!");
}
}
}
// 计算可用设备数量
private static int getAvailableDevices(boolean[] devices) {
int count = 0;
for (boolean device : devices) {
if (!device) {
count++;
}
}
return count;
}
// 计算已使用设备数量
private static int getUsedDevices(boolean[] devices) {
return devices.length - getAvailableDevices(devices);
}
// 计算设备利用率
private static float getDeviceUtilization(boolean[] devices) {
return (float) getUsedDevices(devices) / devices.length;
}
// 计算设备编号
private static int getDeviceNumber(boolean[] devices) {
for (int i = 0; i < devices.length; i++) {
if (!devices[i]) {
return i + 1;
}
}
return -1;
}
// 计算设备状态
private static String getDeviceStatus(boolean device) {
if (device) {
return "Occupied";
} else {
return "Available";
}
}
// 设备管理 - 电脑
private static void computerManagement() {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Computer Management:");
System.out.println("1. Check Computer Status");
System.out.println("2. Occupy a Computer");
System.out.println("3. Release a Computer");
System.out.println("4. Exit");
int operation = scanner.nextInt();
if (operation == 4) {
break;
}
switch (operation) {
case 1:
// 查询电脑状态
System.out.println("Computer Status:");
System.out.println("Total: " + NUM_COMPUTERS);
System.out.println("Available: " + getAvailableDevices(computerStatus));
System.out.println("Occupied: " + getUsedDevices(computerStatus));
System.out.println("Utilization: " + String.format("%.2f", getDeviceUtilization(computerStatus) * 100) + "%");
break;
case 2:
// 占用电脑
int computerNumber = getDeviceNumber(computerStatus);
if (computerNumber == -1) {
System.out.println("No available computer!");
} else {
computerStatus[computerNumber - 1] = true;
System.out.println("Computer " + computerNumber + " has been occupied!");
}
break;
case 3:
// 释放电脑
System.out.print("Please enter computer number: ");
computerNumber = scanner.nextInt();
if (computerNumber < 1 || computerNumber > NUM_COMPUTERS) {
System.out.println("Invalid computer number!");
} else if (!computerStatus[computerNumber - 1]) {
System.out.println("Computer " + computerNumber + " is already available!");
} else {
computerStatus[computerNumber - 1] = false;
System.out.println("Computer " + computerNumber + " has been released!");
}
break;
default:
System.out.println("Invalid operation!");
}
}
}
// 设备管理 - 打印机
private static void printerManagement() {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Printer Management:");
System.out.println("1. Check Printer Status");
System.out.println("2. Occupy a Printer");
System.out.println("3. Release a Printer");
System.out.println("4. Exit");
int operation = scanner.nextInt();
if (operation == 4) {
break;
}
switch (operation) {
case 1:
// 查询打印机状态
System.out.println("Printer Status:");
System.out.println("Total: " + NUM_PRINTERS);
System.out.println("Available: " + getAvailableDevices(printerStatus));
System.out.println("Occupied: " + getUsedDevices(printerStatus));
System.out.println("Utilization: " + String.format("%.2f", getDeviceUtilization(printerStatus) * 100) + "%");
break;
case 2:
// 占用打印机
int printerNumber = getDeviceNumber(printerStatus);
if (printerNumber == -1) {
System.out.println("No available printer!");
} else {
printerStatus[printerNumber - 1] = true;
System.out.println("Printer " + printerNumber + " has been occupied!");
}
break;
case 3:
// 释放打印机
System.out.print("Please enter printer number: ");
printerNumber = scanner.nextInt();
if (printerNumber < 1 || printerNumber > NUM_PRINTERS) {
System.out.println("Invalid printer number!");
} else if (!printerStatus[printerNumber - 1]) {
System.out.println("Printer " + printerNumber + " is already available!");
} else {
printerStatus[printerNumber - 1] = false;
System.out.println("Printer " + printerNumber + " has been released!");
}
break;
default:
System.out.println("Invalid operation!");
}
}
}
}
```
以上代码演示了一个简单的网吧管理系统,包括用户登录和设备管理功能。