java实现在控制台中登录一个用户,是否等于admin 要求1.长度必须是六到八位2.要求去除前后空格3.不区分大小写对比4..字符串对比相等
时间: 2024-12-10 18:37:11 浏览: 8
在Java中,你可以创建一个简单的控制台登录系统来验证用户输入的密码。首先,我们需要创建一个`AdminUser`类,包含用户名属性并提供一个equals方法进行比较。下面是一个简单的例子:
```java
import java.util.Scanner;
class AdminUser {
private String username;
// 构造函数初始化username
public AdminUser(String username) {
this.username = username.trim().toLowerCase(); // 去除前后空格并转换为小写
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // 自身引用直接返回true
if (obj == null || getClass() != obj.getClass()) return false; // 对象为空或者不是同类型则返回false
AdminUser other = (AdminUser) obj;
return username.equals(other.username); // 使用equals方法忽略大小写比较
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的用户名:");
String inputUsername = scanner.nextLine();
// 创建AdminUser实例并检查输入是否等于admin(这里只是一个示例,实际应用中应存储admin的用户名)
AdminUser admin = new AdminUser("admin");
if (inputUsername.matches("\\b\\w{6,8}\\b")) { // 检查输入长度是否在6到8位之间
if (admin.equals(inputUsername)) {
System.out.println("登录成功,您是管理员!");
} else {
System.out.println("用户名无效,无法登录.");
}
} else {
System.out.println("用户名长度不符合要求,必须是6到8位.");
}
scanner.close();
}
}
```
在这个例子中,我们使用正则表达式`\\b\\w{6,8}\\b`匹配输入的字符串是否为6到8位的字母数字组合。当输入满足条件并与"admin"相等(忽略大小写)时,视为登录成功。
阅读全文