驗證碼和猜數字
實驗任務四
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,編譯錯誤分析(總結)
在比較輸入的數字和隨機的數字時要寫入一個循環
驗證碼和猜數字