用java制作一个用户管理系统首先注册时需要输入出生年月日系统对于闰年2月29日生日的用户需要做特殊效验请根据用户输入的年份判断当年是否存在2月29日
以下是一个简单的用户管理系统的代码示例,包含了对闰年2月29日生日用户的特殊效验:
import java.util.ArrayList;
import java.util.Scanner;
public class UserManagementSystem {
private ArrayList<User> users;
public UserManagementSystem() {
users = new ArrayList<>();
}
public void addUser(User user) {
users.add(user);
}
public void removeUser(User user) {
users.remove(user);
}
public void printUsers() {
System.out.println("User List:");
for (User user : users) {
System.out.println(user);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
UserManagementSystem system = new UserManagementSystem();
while (true) {
System.out.println("1. Add user");
System.out.println("2. Remove user");
System.out.println("3. Print user list");
System.out.println("4. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("Enter name: ");
String name = scanner.next();
System.out.print("Enter birth year: ");
int year = scanner.nextInt();
System.out.print("Enter birth month: ");
int month = scanner.nextInt();
System.out.print("Enter birth day: ");
int day = scanner.nextInt();
if (isLeapYear(year) && month == 2 && day == 29) {
System.out.println("Invalid birth date. Leap year does not have February 29.");
} else {
User user = new User(name, year, month, day);
system.addUser(user);
System.out.println("User added: " + user);
}
break;
case 2:
System.out.print("Enter name: ");
name = scanner.next();
User user = findUserByName(system, name);
if (user == null) {
System.out.println("User not found.");
} else {
system.removeUser(user);
System.out.println("User removed: " + user);
}
break;
case 3:
system.printUsers();
break;
case 4:
System.exit(0);
default:
System.out.println("Invalid choice.");
}
}
}
private static User findUserByName(UserManagementSystem system, String name) {
for (User user : system.users) {
if (user.getName().equals(name)) {
return user;
}
}
return null;
}
private static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
}
class User {
private String name;
private int birthYear;
private int birthMonth;
private int birthDay;
public User(String name, int birthYear, int birthMonth, int birthDay) {
this.name = name;
this.birthYear = birthYear;
this.birthMonth = birthMonth;
this.birthDay = birthDay;
}
public String getName() {
return name;
}
public int getBirthYear() {
return birthYear;
}
public int getBirthMonth() {
return birthMonth;
}
public int getBirthDay() {
return birthDay;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", birthYear=" + birthYear +
", birthMonth=" + birthMonth +
", birthDay=" + birthDay +
'}';
}
}
在添加用户时,会先判断是否为闰年2月29日生日,如果是则会提示用户输入的生日无效。判断闰年的方法是通过判断年份是否能被4整除但不能被100整除,或者能被400整除。
原文地址: https://www.cveoy.top/t/topic/dvdV 著作权归作者所有。请勿转载和采集!