用java编写需要设置普通用户、超级管理员不同角色,不同角色登录后的权限各不相同,普通用户可以进行查询;超级管理员有对所有成员增加、删除和修改的权限。 (2)家谱中成员的信息中均应包含姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)等 ,也可附加其它信息,并存储于文本文件中。 (3)查询功能。可按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息、所在辈分);按照出生日期查询成员名单。 (4)按出生日期对家谱中所有人排序。 (5)打开家谱时,提示当天生日的健在成员。 (6)输入任意两个姓名,能够查询这两个姓名之间的是否具有直系祖先后裔关系。
时间: 2023-07-15 21:10:39 浏览: 49
这是一个比较复杂的需求,需要用到多个模块和技术。以下是一个大致的实现思路:
1. 实现用户登录和权限控制:可以使用Spring Security框架来实现。在其中定义两个角色:普通用户和超级管理员,并对应不同的权限(查询权限和修改权限)。用户登录后,会根据角色的不同自动跳转到对应的页面。
2. 实现家谱信息的存储:可以使用文本文件来存储家谱信息,每个成员信息之间用特定的符号分隔。同时也可以考虑使用数据库来存储家谱信息,方便查询和排序。
3. 实现家谱信息的查询:可以使用Java IO或者第三方库来读取家谱信息文件,并根据用户输入的查询条件进行筛选和输出。查询条件包括姓名、出生日期等。同时,为了方便显示家族成员的辈分关系,可以将家谱信息存储为树形结构,并使用递归算法进行查询。
4. 实现家谱信息的排序:可以使用Java自带的Collections.sort()方法,或者自己实现快速排序等算法。排序的依据是成员的出生日期。
5. 实现生日提醒功能:可以使用Java自带的日期处理类,获取当前日期,并遍历家谱信息,查找今天生日的健在成员。
6. 实现直系祖先后裔关系查询:可以先按照姓名查询到两个成员的信息,然后根据家谱信息中的父子关系,递归查找两个成员是否存在直系祖先后裔关系。
以上是一个大致的实现思路,具体实现过程中还需要注意一些细节和问题。
相关问题
java用户登录代码:用户可以通过账号和密码登录系统,根据不同的权限分为管理员和考生。
以下是一个简单的 Java 用户登录代码示例,可以根据不同的权限分为管理员和考生:
```java
import java.util.Scanner;
public class UserLogin {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 假设已经有两个用户:管理员和考生
String adminName = "admin";
String adminPassword = "admin123";
String studentName = "student";
String studentPassword = "student123";
System.out.print("请输入用户名:");
String username = input.nextLine();
System.out.print("请输入密码:");
String password = input.nextLine();
if (username.equals(adminName) && password.equals(adminPassword)) {
System.out.println("欢迎管理员登录系统!");
// TODO: 管理员权限处理逻辑
} else if (username.equals(studentName) && password.equals(studentPassword)) {
System.out.println("欢迎考生登录系统!");
// TODO: 考生权限处理逻辑
} else {
System.out.println("用户名或密码错误!");
}
input.close();
}
}
```
以上代码通过 `Scanner` 类获取用户输入的用户名和密码,并根据输入的用户名和密码判断用户的权限。如果用户名和密码都正确,就输出欢迎信息并进行相应的权限处理;否则输出错误信息。您可以在 `TODO` 注释处添加相应的权限处理逻辑。
Java管理员和普通用户登录
好的,您的问题是Java管理员和普通用户登录的问题。我可以为您提供一些相关的信息。在Java应用程序中,通常会有不同类型的用户,例如管理员和普通用户。管理员通常具有更高的权限和更广泛的访问权限,而普通用户则拥有更有限的权限。
为了实现这种区分,通常会使用用户身份验证机制。用户首先需要提供他们的凭据(如用户名和密码),然后系统将对这些凭据进行验证。如果凭据有效,则用户将被授权访问相应的功能和资源。
在Java中,可以使用许多不同的技术来实现身份验证,例如基于表单的身份验证,基于HTTP的身份验证,基于令牌的身份验证等等。这些技术都可以用于管理员和普通用户的身份验证。
总之,Java管理员和普通用户登录需要通过身份验证机制进行验证,以区分不同类型的用户,并授予相应的权限和访问权限。