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

学习目标:

目标:熟练运用 Java所学知识


题目内容:

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


简述+实现代码:

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
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单Java 登录界面程序输入用户名密码,如果输入错误超过三次,则会弹出提示窗口。 ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Login extends JFrame implements ActionListener { private JTextField usernameField; private JPasswordField passwordField; private JButton loginButton; private int count = 0; // 记录错误次数 public Login() { setTitle("登录窗口"); setSize(300, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); // 居中显示 JPanel panel = new JPanel(new GridLayout(3, 2)); JLabel usernameLabel = new JLabel("用户名:"); usernameField = new JTextField(); JLabel passwordLabel = new JLabel(" 码:"); passwordField = new JPasswordField(); loginButton = new JButton("登录"); panel.add(usernameLabel); panel.add(usernameField); panel.add(passwordLabel); panel.add(passwordField); panel.add(loginButton); add(panel); loginButton.addActionListener(this); // 添加登录按钮监听器 } @Override public void actionPerformed(ActionEvent e) { String username = usernameField.getText(); String password = new String(passwordField.getPassword()); if (username.equals("admin") && password.equals("123456")) { JOptionPane.showMessageDialog(this, "登录成功!"); dispose(); // 关闭登录窗口 } else { count++; if (count == 3) { JOptionPane.showMessageDialog(this, "登录失败次数已达上限,程序即将退出。"); System.exit(0); // 强制退出程序 } else { JOptionPane.showMessageDialog(this, "用户名密码错误,请重新输入。"); usernameField.setText(""); passwordField.setText(""); } } } public static void main(String[] args) { Login login = new Login(); login.setVisible(true); } } ``` 以上代码使用了 Swing 组件来实现登录窗口,其中 `JTextField` 组件用于输入用户名,`JPasswordField` 组件用于输入密码,`JButton` 组件用于登录按钮。 在 `actionPerformed` 方法中,判断输入用户名密码是否正确,如果正确则弹出消息框提示登录成功,并关闭登录窗口;如果错误,则弹出消息框提示错误信息,并清空输入框,同时记录错误次数,如果错误次数达到三次,则弹出提示窗口并强制退出程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值