使用String类模拟一个登录程序: 1.假设用户名"admin",密码"password" 2.输入用户名和密码不能为空 3.生成4位随机验证码,由大小写不确定的字母组成。 4.如果用户名、密码、输入验证码均正确,则成功登录,否则提示错误
时间: 2024-10-07 07:06:14 浏览: 39
在Java中,你可以创建一个简单的控制台程序来模拟这个登录过程。这里是一个基本的示例:
```java
import java.util.Scanner;
import java.security.SecureRandom;
public class LoginSimulation {
private static final String ADMIN_USERNAME = "admin";
private static final String PASSWORD = "password";
private static final int CODE_LENGTH = 4;
private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
SecureRandom random = new SecureRandom();
// 生成随机验证码
StringBuilder code = new StringBuilder();
for (int i = 0; i < CODE_LENGTH; i++) {
code.append(CHARACTERS.charAt(random.nextInt(CHARACTERS.length())));
}
System.out.println("请输入验证码 (" + code.toString() + "):");
// 输入验证
String inputCode = scanner.nextLine().trim();
if (!validateUsername() || !validatePassword() || !validateInputCode(inputCode)) {
System.out.println("登录失败,请检查用户名、密码和验证码是否正确!");
} else {
System.out.println("登录成功!");
}
scanner.close();
}
private static boolean validateUsername() {
return scanner.hasNextLine() && scanner.nextLine().equals(ADMIN_USERNAME);
}
private static boolean validatePassword() {
return scanner.hasNextLine() && scanner.nextLine().equals(PASSWORD);
}
private static boolean validateInputCode(String input) {
return input.equals(code.toString());
}
}
```
在这个程序中,我们首先生成了一个四位随机验证码并显示给用户。然后通过`Scanner`获取用户的输入,并分别对用户名、密码和输入的验证码进行校验。如果所有输入都正确,就打印"登录成功";否则,提示"登录失败"。
阅读全文