使用e.printStackTrace()编写一个符合以下条件Java程序: 写一个方法实现用户登录,由用户输入用户名和密码 如果用户名错误,就抛出自定义登录异常(LoginException),异常信息为用户名不存在。如果密码错了就也抛出登录异常,异常信息为密码错误;如果用户名和密码都对了,输出: 欢迎xxx 注意: 需要使用e.printStackTrace()
时间: 2024-03-02 10:53:07 浏览: 13
以下是符合要求的Java程序:
```java
import java.util.Scanner;
public class LoginDemo {
//模拟数据库中的用户名和密码
private static final String USERNAME = "admin";
private static final String PASSWORD = "123456";
public static void login(String username, String password) throws LoginException {
//判断用户名是否正确
if (!USERNAME.equals(username)) {
throw new LoginException("用户名不存在");
}
//判断密码是否正确
if (!PASSWORD.equals(password)) {
throw new LoginException("密码错误");
}
System.out.println("欢迎" + username);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入用户名:");
String username = sc.nextLine();
System.out.print("请输入密码:");
String password = sc.nextLine();
sc.close();
try {
login(username, password);
} catch (LoginException e) {
e.printStackTrace();
}
}
}
//自定义登录异常类
class LoginException extends Exception {
public LoginException(String message) {
super(message);
}
}
```
在该程序中,我们定义了一个 `login` 方法实现用户登录,该方法接收用户名和密码作为参数。如果用户名或密码错误,就会抛出自定义的登录异常 `LoginException`。在 `main` 方法中,我们使用 `Scanner` 类从控制台读取用户输入的用户名和密码,然后调用 `login` 方法进行登录,如果出现异常,就使用 `e.printStackTrace()` 打印异常信息。