自定义异常。模拟场景:家里装了密码锁,若输入:“芝麻开门”则解锁成功,其余则为解锁失败,最终以异常的形式提醒住户“密码输入错误用java
时间: 2024-04-14 14:25:35 浏览: 12
可以通过自定义异常来实现这个密码锁的场景。首先,你可以创建一个名为 `PasswordIncorrectException` 的自定义异常类,如下所示:
```java
public class PasswordIncorrectException extends Exception {
public PasswordIncorrectException(String message) {
super(message);
}
}
```
然后,在密码校验的逻辑中,如果输入的密码不正确,就抛出这个自定义异常。以下是一个示例代码:
```java
import java.util.Scanner;
public class PasswordLock {
private static final String CORRECT_PASSWORD = "芝麻开门";
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入密码:");
String input = scanner.nextLine();
try {
unlock(input);
System.out.println("解锁成功!");
} catch (PasswordIncorrectException e) {
System.out.println(e.getMessage());
}
}
private static void unlock(String password) throws PasswordIncorrectException {
if (!password.equals(CORRECT_PASSWORD)) {
throw new PasswordIncorrectException("密码输入错误!");
}
}
}
```
在上述代码中,我们首先创建了一个名为 `PasswordLock` 的类。在 `main` 方法中,我们通过 `Scanner` 类从用户获取密码输入。然后,我们调用 `unlock` 方法来解锁密码。如果输入的密码不正确,`unlock` 方法就会抛出 `PasswordIncorrectException` 异常,并传递异常信息 "密码输入错误!"。最后,在 `main` 方法中,我们使用 `try-catch` 块来捕获并处理异常,输出相应的提醒信息。
这样,当用户输入的密码不正确时,程序会抛出自定义异常,并提醒住户密码输入错误。