• 2020年10月13日Java学习日记


    含有验证码的登陆界面

    package day02;
    import java.util.Random;
    import javax.swing.JOptionPane;
    public class DHK {
        public static void main(String[] args) {
            StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
            StringBuffer sb = new StringBuffer();
            Random r = new Random();
            int range = buffer.length();
            for (int i = 0; i < 6; i++) {
                sb.append(buffer.charAt(r.nextInt(range)));
            }
            String name = JOptionPane.showInputDialog("登录名");
            String key = JOptionPane.showInputDialog("密码");
            JOptionPane.showMessageDialog(null, "验证码为" + sb, "验证", JOptionPane.INFORMATION_MESSAGE);
            for (;;) {
                String yanzheng = JOptionPane.showInputDialog("验证码");
                StringBuffer sb2 = new StringBuffer(yanzheng);
                if (sb2.toString().equals(sb.toString())) {
                    JOptionPane.showMessageDialog(null, "验证码成功", "验证", JOptionPane.INFORMATION_MESSAGE);
                    break;
                } else {
                    JOptionPane.showMessageDialog(null, "验证码错误请重新输入", "验证", JOptionPane.INFORMATION_MESSAGE);
                    continue;
                }
            }
        }
    }

     

    此代码没有设计登录名和密码的相关操作,只是简单生成了随机验证码,并做出判断:验证码输入是否正确,未做到将登录名,密码和验证码显示在同一提示框上。

    相关知识:

    1、StringBuffer 的基础用法

    https://blog.csdn.net/qq_36684107/article/details/83743899

     

    2、判断 StringBuffer类型对象是否相同

    在此问题中,需要将用户输入的验证码与系统随机生成的验证码进行比较。若二者相等,则打印验证码成功,退出循环;若二者不相等,则打印验证码输入错误,继续循环。由于用户输入的 yanzheng 为 String类型,系统生成的 sb 为StringBuffer类型,若想判断二者是否相等,则需要定义一个 sb2 ,使得其为 yanzheng 的 StringBuffer类型。

    定义一个 sb2 ,使得其为 yanzheng 的 StringBuffer类型:

    StringBuffer sb2 = new StringBuffer(yanzheng);

    具体判断方法为:

    sb2.toString().equals(sb.toString());
  • 相关阅读:
    【遇见时光】笔试-偶数最大距离-java
    【遇见时光】笔试-下蹲-java实现
    [遇见时光]内推笔试-藏宝图-java实现
    【遇见时光】内推编程-洗牌
    [遇见时光]剑指offer-顺时针打印矩阵java
    [遇见时光]解决‘javac’不是内部或外部命令的问题
    [遇见时光]Java多线程
    Android Studio 打包错误
    android 开发不常用技巧集
    异步任务结束操作,对于ativity fragment SharedPreferences等涉及到context操作前的判断
  • 原文地址:https://www.cnblogs.com/9635741zly/p/14176453.html
Copyright © 2020-2023  润新知