• Java四则运算和验证码生成


    四则运算

    程序设计思想

      使用随机数生成100或1000以内数字,用字符串数组实现+-*/的输出。For循环打印出所需要的题数。

    程序流程图

    package yunsuan;
    import java.util.Scanner;
    public class Yunsuan {
    
        public static void main(String[] args) {
            int a1,a2,a3;
            int b1,b2,b3;
            int m,n;
            int i=0;
            Scanner sc=new Scanner(System.in);
            String f[]=new String[4];
            f[0]="+";
            f[1]="-";
            f[2]="*";
            f[3]="/";
            System.out.println("请选择100以内或1000以内");
            m=sc.nextInt()+1;
            System.out.println("请输入要产生的题数");
            n=sc.nextInt();
            for(i=0;i<n;i++)
            { 
            a1=(int)(Math.random()*m);
            a2=(int)(Math.random()*m);
            a3=(int)(Math.random()*m);
            //a4=(int)(Math.random()*m);
            b1=(int)(Math.random()*4);
            b2=(int)(Math.random()*4);
            //b3=(int)(Math.random()*4);
            System.out.println("第"+(i+1)+"题:"+a1+f[b1]+a2+f[b2]+a3+"=");
            }
            }
        }
    四则运算

    实现结果截图

    实验总结

    开始不知道如何生成随机数,百度后明白Math.random()产生0-1的随机数,并乘上相应的倍数就能获得一定范围的随机数。后续增加了难度选择。

    生成验证码

    程序设计思想

    使用random产生随机字符,并利用for循环产生字符串。具体框架使用jFrame,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。使用setbounds设置位置和大小。

    程序流程图

    package 登陆界面;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Random;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    public class Denglu {
        public static String creatZifu()
        {
            String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
            Random random = new Random(); 
            StringBuffer sb = new StringBuffer(); 
            for (int i = 0; i < 4; i++)
            { 
            int number = random.nextInt(str.length()); 
            sb.append(str.charAt(number)); 
            } 
            return sb.toString(); 
        }
    
        public static void main(String[] args) 
        {
            JFrame jFrame = new JFrame("登陆界面");
            //具体框架使用jFrame,文本框组件:JTextField;
            //密码框组件:JPasswordField;标签组件:JLabel;
            //复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。
            Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
            jFrame.setBounds(((int)dimension.getWidth() - 200) / 2, ((int)dimension.getHeight() - 300) / 2, 400, 200);
            jFrame.setResizable(true);
            jFrame.setLayout(null);
            //添加标签,内容为“姓名”
            JLabel label1 = new JLabel("姓名:");
            label1.setBounds(10, 10, 100, 30);
            jFrame.add(label1);
            //添加标签,内容为“密码”
            JLabel label2 = new JLabel("密码:");
            label2.setBounds(10, 40, 100, 30);
            jFrame.add(label2);
            //添加标签,内容为“验证码”;
            JLabel label3 = new JLabel("验证码:");
            label3.setBounds(10, 70, 100, 30);
            jFrame.add(label3);
            //添加标签,并调用产生验证码的函数,并将其作为标签的内容
            JLabel label4 = new JLabel(creatZifu());
            String s;
            s=label4.getText();
            label4.setBounds(70, 70, 100, 30);
            label4.setForeground(Color.blue);
            jFrame.add(label4);
            //输入用户名;
            final JTextField text1 = new JTextField();
            text1.setBounds(50, 15, 130, 20);
            jFrame.add(text1);
            //输入密码;
            final JPasswordField text2 = new JPasswordField();
            text2.setBounds(50, 45, 130, 20);
            jFrame.add(text2);
            //输入验证码;
            final JTextField text3 = new JTextField();
            text3.setBounds(110, 75, 130, 20);
            jFrame.add(text3);
           
            JButton button1 = new JButton("取消");
            button1.setBounds(160, 105, 150, 30);
            button1.addActionListener(new ActionListener()
            {
                     public void actionPerformed(ActionEvent e)
                     {
                              jFrame.dispose();//关闭程序;
                     }
            });
            jFrame.add(button1);
            JButton button2 = new JButton("换一张?");
            button2.setBounds(250, 75, 100, 20);
            jFrame.add(button2);
            JButton button = new JButton("登录");
            button.setBounds(10, 105, 150, 30);
            jFrame.add(button);
            jFrame.setVisible(true);
    }
    }
    验证码

    实现结果截图

    实验总结

     生成验证码可以使用随机字符,并用循环获得想要的长度。

     可以生成验证码,但是无法刷新验证码,登陆键没有功能

     

     

     

     

     

  • 相关阅读:
    zoj1151 zoj1295 Word Reversal 字符串的简单处理
    zoj 1539 Lot 简单DP 记忆化
    ZOJ 2042 Divisibility (DP)
    zoj 1889 ones 数学
    Kubernetes Ingress 日志分析与监控的最佳实践
    如何使用Data Lake Analytics创建分区表
    如何在Data Lake Analytics中使用临时表
    阿里敏捷教练:多团队开发一个产品的组织设计和思考
    阿里工程师开发了一款免费工具,提升Kubernetes应用开发效率
    触手可得的云原生 | 阿里云中间件发布多项新功能​
  • 原文地址:https://www.cnblogs.com/lixv2018/p/9752484.html
Copyright © 2020-2023  润新知