实现一个简单的控制台版用户登陆程序, 程序启动提示用户输入用户名密码. 如果用户名密码出错, 使用自定义异常的方式来处理

java 复制代码
	//密码错误异常类
public class PasswordError extends Exception {
    public PasswordError(String message){
        super(message);
    }
}

    //用户名错误异常类
public class UserError extends Exception{
    public UserError(String message){
        super(message);
    }
}

import java.util.Scanner;

public class RegisterException {
    private static String userName = "12345678";
    private static String passerWord = "123456";

    public static void main(String[] args) throws UserError, PasswordError {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入账号:");
        String str1 = sc.nextLine();
        System.out.print("请输入密码:");
        String str2 = sc.nextLine();
        login(str1, str2);
    }

    private static void login(String userName, String passerWord) throws PasswordError, UserError {
        if (!RegisterException.userName.equals(userName)){
        //判断用户名是否输入错误
            throw new UserError("用户名错误");//抛出用户名错误异常       
        }
        if (!RegisterException.passerWord.equals(passerWord)){
        //判断密码是否输入错误
            throw new PasswordError("密码错误");//抛出密码错误异常
        }
        System.out.println("登录成功");
    }
}
相关推荐
轻刀快马2 小时前
讲明白Lambda 表达式的进化史
java·开发语言
故事和你912 小时前
洛谷-【图论2-2】最短路3
开发语言·数据结构·c++·算法·动态规划·图论
那个失眠的夜2 小时前
SpringBoot
java·开发语言·spring boot·spring·mvc·mybatis
范范@2 小时前
python基础-5大容器
开发语言·python
会编程的土豆2 小时前
Go 连接 Redis 代码详细解析
开发语言·redis·golang
测试员周周2 小时前
【AI测试路线图2】功能测试转 AI 测试:4~5 个月,一条最稳的路
开发语言·人工智能·python·功能测试·测试工具·单元测试·pytest
多敲代码防脱发2 小时前
Spring进阶(Bean的生命周期与Bean的后处理器)
java·服务器·开发语言·spring boot·spring·servlet
吃好睡好便好2 小时前
在Matlab中绘制峰值图
开发语言·学习·算法·matlab·信息可视化
RingWu2 小时前
高并发三板斧-缓存:命中率、一致性、治理
java·spring·缓存
兩尛2 小时前
std::shared_mutex、std::mutex和std::recursive_mutex是什么锁
开发语言·c++·算法