当前位置: 首页 > news >正文

用户登入

用户登入

/*
1. 写一个方法实现用户登陆,传入用户名和密码 
2. 如果用户名错误,就抛出自定义登陆异常(LoginException),异常信息为用户名不存在。 
3. 如果密码错了就也抛出登陆异常,异常信息为密码错误 
4. 如果用户名和密码都对了,输出: 欢迎xxx 
*/
public class LoginException extends Exception {
    public LoginException() {
        super();
    }

    public LoginException(String message) {
        // 一定要调用父类的构造方法
        super(message);
    }
}

public class TestDemo {
    // a)提供一个用于登陆的方法login(String name,String pwd),在放方法中
    public static void login(String name, String pwd) throws LoginException {
        // i.如果用户名错误,就抛出自定义登陆异常(LoginException),异常信息为用户名不存在
        if (!"admin".equals(name)) {
            throw new LoginException("用户名:" + name + "不存在");
        }
        // ii.如果密码错了就也抛出登陆异常,异常信息为密码错误.
        if (!"admin".equals(pwd)) {
            throw new LoginException("密码错误");
        }
        // iii.如果能来到下面,就说明用户和密码都是对的,输出: 欢迎xxx
        System.out.println("欢迎" + name);
    }

    public static void main(String[] args) {
        try {
            // i.调用login方法,传入错误用户名,运行程序,报运行时异常,然后注释这行代码
            // login("ax", "xx");
            // ii.调用login方法,传入正确用户名,错误的命名,运行程序,报运行时异常,然后注释这行代码
            // login("admin", "123");
            // iii.调用login方法,传入正确的用户名和密码
            login("admin", "admin");
        } catch (LoginException e) {
            e.printStackTrace();
        }
    }
}

相关文章:

  • 请使用继承Thread类的方式定义一个线程类,在run()方法中循环10次,每1秒循环1次,每次循环按“yyyy-MM-dd HH:mm:ss”的格式打印当前系统时间。
  • 请使用实现Runnable接口的方式定义一个类,在run()方法中使用循环变量i遍历1--1000所有的数字。
  • 请使用继承Thread类的方式定义一个线程类,在run()方法中使用循环变量i遍历1--1000所有的数字。
  • 请使用“匿名Runnable”子类的方式实现线程,线程中计算1--500所有数字的累加和,并打印计算结果
  • 请用户输入一个整数1--7的值: 根据用户输入,从数组中取出对应的星期名称
  • 计算“第一个数 / 第二个数”的结果
  • 请编写程序,模拟JUnit的@Test注解
  • 定义一个Person类,包含私有属性name、age,getXxx和setXxx方法和有参满参构造方法。
  • 按要求完成下面两个方法的方法体
  • 对Collection接口的子类ArrayList进行代理,以前的remove(Object obj)方法是删除集合中第一次出现的元素(比如集合中有多个“abc”,调用remove(“abc”)后只会
  • liunx7系统centos6.8版本编译安装php7
  • 如果ngxin不能使用service nginx start 开启
  • linux7下centos6.8开启某个端口
  • liunx7下centos6.8编译安装nginx1.12.1
  • liunx7下centos6.8编译安装mysql-5.7.18
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • emacs初体验
  • JavaScript创建对象的四种方式
  • javascript数组去重/查找/插入/删除
  • JSDuck 与 AngularJS 融合技巧
  • OSS Web直传 (文件图片)
  • supervisor 永不挂掉的进程 安装以及使用
  • 和 || 运算
  • 回顾2016
  • 模型微调
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 如何在招聘中考核.NET架构师
  • (二)JAVA使用POI操作excel
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (学习日记)2024.02.29:UCOSIII第二节
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)jQuery 基础
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 使用配置文件
  • .NET 中 GetProcess 相关方法的性能
  • .net下简单快捷的数值高低位切换
  • .net专家(张羿专栏)
  • /usr/bin/env: node: No such file or directory
  • @Autowired自动装配
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [Android]使用Retrofit进行网络请求
  • [AR Foundation] 人脸检测的流程
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)
  • [hdu2196]Computer树的直径
  • [Java] IDEA Scala环境搭建
  • [leetcode] 四数之和 M
  • [LeetCode]—Longest Palindromic Substring 最长回文子串
  • [one_demo_3]漩涡递增矩阵
  • [one_demo_6]逆置整数
  • [Python学习笔记]Requests性能优化之Session
  • [Spring Boot 3] 整合NoSQL与构建RESTful服务