java实现登录的验证码和猜数字游戏_图形化界面
实验任务四
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,编译错误分析(总结)
在比较输入的数字和随机的数字时要写入一个循环
java实现登录的验证码和猜数字游戏_图形化界面的更多相关文章
- java实现多个数字求和_图形化界面
一,设计思想 1,通过简单的窗口实现多个数字的输入与输出. 2,可通过用户输入数字的数量来实现多个数字的求和. 3,定义整型数组变量number和字符串型数组变量integer,将输入的字符串变量赋给 ...
- Java初学者作业——实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字
返回本章节 返回作业目录 需求说明: (1)实现控制台的猜数字游戏.游戏运行时产生一个1-100之间的随机数字 (2)要求用户从控制台输入数字,若输入的数字比随机数小,则输出"太小了,再大一 ...
- 黑马程序员:Java基础总结----GUI图形化界面
黑马程序员:Java基础总结 GUI图形化界面 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! GUI(Graphical User Interface)图形化界 ...
- java 猜数字游戏
作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...
- Java完成简单猜数字游戏v2.0
猜数字游戏v2.0 优化了获取随机数.输入数据超出边界值的代码,并增加了异常处理,能够在玩家输入错误数据错误时给出可靠指引,希望对和我一样的新人有帮助, 最后希望有大神愿意帮我解决代码优化的问题,谢谢 ...
- java使用for循环做猜数字游戏
package org.llh.test;import java.util.Random;import java.util.Scanner;/** * 猜数字游戏 * * @author llh * ...
- 猜数字游戏 在控制台运行--java详解!了;来玩
import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...
- java & python猜数字游戏对比
1.java版 package day03; import java.util.Random;import java.util.Scanner; /** * 猜数字游戏 * 随机生成一个1-100之间 ...
- Java(控制台输出)实现猜数字小游戏
import java.util.Scanner; import java.util.Random; public class GuestNum{ public static void main(St ...
随机推荐
- [Design]Ppt处理大段文字
可以用标签类的东西 时间轴
- 引用内部函数绑定机制,R转义字符,C++引用,别名,模板元,宏,断言,C++多线程,C++智能指针
1.引用内部函数绑定机制 #include<iostream> #include<functional> usingnamespacestd; usingnamespac ...
- HDU 1874 畅通project续 (最短路径)
畅通project续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- CodeForces--606A --Magic Spheres(模拟水题)
Magic Spheres Time Limit: 2000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submi ...
- poj--3207--Ikki's Story IV - Panda's Trick(2-sat)
Ikki's Story IV - Panda's Trick Time Limit: 1000MS Memory Limit: 131072KB 64bit IO Format: %I64d ...
- hdoj--3062--party(2-sat 可行解)
Party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- Oracle RMAN备份中catalog和nocatalog区别
nocatalog方式:用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息,即RMAN的备份信息写在本地控制文件里面. cat ...
- Docker Compose + Spring Boot + Nginx + Mysql
Docker Compose + Spring Boot + Nginx + Mysql 实践 我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的 ...
- Java-MyBatis:MyBatis 3 配置
ylbtech-Java-MyBatis:MyBatis 3 配置 1.返回顶部 1. XML 映射配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings) ...
- jqueryui slider
<!doctype html><html lang="en"><head> <meta charset="utf-8" ...