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 ...
随机推荐
- BZOJ 3144 [HNOI2013]切糕 (最大流+巧妙的建图)
题面:洛谷传送门 BZOJ传送门 最大流神题 把点权转化为边权,切糕里每个点$(i,j,k)$向$(i,j,k+1)$连一条流量为$v(i,j,k)$的边 源点$S$向第$1$层的点连边,第$R+1$ ...
- 0112centos上面l安装卸载mysq
http://www.centoscn.com/CentosServer/sql/2015/0409/5127.html常用命令cat /etc/issuerpm -qa | grep mysqlyu ...
- C#中的CollectionBase用法
ColectionBase中有List方法,返回的是类本身 class A :CollectionBase { public void add(B b) { List.Add(b); } public ...
- PuTTY介绍、安装、使用
简介 PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上.除了 ...
- 多线程程序调用fork的现象
- POJ 2133
类似于DP一样做,但这题有个大坑,自己看DIS吧.... #include <iostream> #include <cstdio> #include <cstring& ...
- POJ 2132
我早上调了一个早上,下午才发现把e=edge[e].next写成edge[e].next了... 这题直接DFS,一个剪枝是,当当前的最大质因数是最小公倍数的因数时,不用搜索 #include < ...
- POJ 1948
这道题我记得是携程比赛上的一道. 开始时想直接设面积,但发现不可以,改设能否构成三角形.设dp[i][j][k]为前i根木棍构成边长为j和k的三角形,那么转移可以为dp[i][j][k]=dp[i-1 ...
- Linux less命令简介
less命令可以对文件或其它输出进行分页显示,与moe命令相似,但是比more命令要强大许多. 在 less 中导航命令类似于 vi,如下: 1 搜索 当使用命令 less file-name 打开一 ...
- C4
#include <stdio.h> int main(int argc, const char * argv[]) { // int 占用4个字节 double 占用8个字节 // 只是 ...