验证码和猜数字
Posted New·S
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码和猜数字相关的知识,希望对你有一定的参考价值。
实验任务四
1,出现设计思想
(1)先定义文本框、密码框和验证码框的组件
(2)定义面板和按钮的个数
(3)定义公有的虚构方法,通过对象实例化来调用
(4)利用Random类来实现生成0-9的随机数
(5)设置面板的布局,设置面板的显示
2,程序流程图
3,源程序
package 登录界面2;
import javax.swing.*;
import java.util.Random;
import java.awt.*; //导入必要的包
public class register extends JFrame{
JTextField jTextField ;//定义文本框组件
JPasswordField jPasswordField;//定义密码框组件
JTextField JTextField1;
JLabel jLabel1,jLabel2,jLabel3,jLabel22,jLabel33;
JPanel jp1,jp2,jp3,jp4,jp5;//设置面板的个数
JButton jb1,jb2; //创建按钮
public register(){
String result = "";
Random ran=new Random();
for(int i = 0 ; i < 6 ; i ++)
{
int intVal =ran.nextInt (0+9);//随机生成0-9的随机数
result = result + intVal;
}
jTextField = new JTextField(20);
jPasswordField = new JPasswordField(10);
JTextField1=new JTextField(15);
jLabel1 = new JLabel("用户名");
jLabel2 = new JLabel("密码");
jLabel3=new JLabel("验证码");
jLabel33=new JLabel(""+result);
jLabel22=new JLabel("忘记用户名/密码?");
jb1 = new JButton("登录");
jb2 = new JButton("快速注册");
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jp4 = new JPanel();
jp5 = new JPanel();
//设置布局
this.setLayout(new GridLayout(5,1));
jp1.add(jLabel1);
jp1.add(jTextField);//第一块面板添加用户名和文本框
jp2.add(jLabel2);
jp2.add(jPasswordField);//第二块面板添加密码和密码输入框
jp2.add(jLabel22);
jp3.add(jLabel3);
jp3.add(JTextField1);
jp3.add(jLabel33);
jp4.add(jb1);
jp4.add(jb2); //第四块面板添加确认和取消
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.add(jp4);//将四块面板添加到登陆框上面
//设置显示
this.setSize(300, 200);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("登陆");
/*if(JTextField1.equals(jLabel33)){
JOptionPane.showMessageDialog(null,"欢迎注册","登录成功",JOptionPane.PLAIN_MESSAGE);
}
else
JOptionPane.showMessageDialog(null,"验证码输入错误","登录失败",JOptionPane.PLAIN_MESSAGE);*/
}
public static void main(String[] args){
new register();
}
}
4,实现结果截图
5,实验总结
(1)“”+数字生成的是字符串数字,“”+(char)数字生成的是数字对应的字母
(2)用java.util包中的Random类能随机生成数字
(3)JLabek能添加面板输入框前后的一些功能,例如输出文字
(4)JPanel能设置面板的个数及名字
(5)JButton能创建按钮
(6)setsize用来设置面板的大小
(7)JTexttField定义文本框 JPasswordField定义密码框
实验任务五
1,出现设计思想
先随机生成一个数字,然后输入一个数字和生成的数字进行大小比较,如果猜大了或猜小了就给出提示,重新输入数字,直到猜对,输出该数字,循环是否继续。
2,程序流程图
3,源代码
package 猜数字游戏;
import javax.swing.JOptionPane;
import java.util.Random;
public class GussNumber {
public static void main(String[] args){
Random ran=new Random();
int n=1;
while(n==1){
int x=ran.nextInt(1+100);
String s1=JOptionPane.showInputDialog("写下你猜的数字");
int a=Integer.parseInt(s1);
do{
if(a>x)
JOptionPane.showMessageDialog(null,"猜大了","结果",JOptionPane.PLAIN_MESSAGE);
else
JOptionPane.showMessageDialog(null,"猜小了","结果",JOptionPane.PLAIN_MESSAGE);
s1=JOptionPane.showInputDialog("重新猜的数字");
a=Integer.parseInt(s1);
}while(a!=x);
if(a==x)
JOptionPane.showMessageDialog(null,"恭喜你!猜对了\\n该数字是"+x,"结果",JOptionPane.PLAIN_MESSAGE);
String s2=JOptionPane.showInputDialog("是否继续?\\n1,继续 2,结束");
n=Integer.parseInt(s2);
}
}
}
4,运行结果截图
5,编译错误分析(总结)
在比较输入的数字和随机的数字时要写入一个循环
以上是关于验证码和猜数字的主要内容,如果未能解决你的问题,请参考以下文章
python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码