实验任务四-实现登陆界面的内容

程序题目-实现登陆界面的内容

【程序设计思想】

首先定义字符串登录名,密码,空的字符串,用对话框的形式输入登录名,密码,验证码,随后用if……else判断验证码是否一致,并输出判断结果。

【程序流程图】

【源程序】

//信1605-1 寇肖萌 20163446

import javax.swing.JOptionPane;

public class Randomstr{

         public static void main(String args[]) {

                   String dengluming;

                   String mima;

                   dengluming=JOptionPane.showInputDialog("请输入登录名:\n");//输入登录名

                   mima=JOptionPane.showInputDialog("请输入密码:\n");//输入密码

         //定义一个空字符串

                   String result = "";

                   //进行6次循环

                   for(int i = 0 ; i < 6 ; i ++)

                   {

                   //生成一个97~122的int型的整数

                   int intVal = (int)(Math.random() * 26+ 97);

                   //将intValue强制转换为char类型的字符串

                   result = result + (char)intVal;

                   }

         //输入验证码

                  

             String input=JOptionPane.showInputDialog("验证码:\n"+result+"\n"+"请在此输入以上验证码:\n");

         //判断验证码与输入的是否一致

         if(input.equals(result))

         {

             JOptionPane.showMessageDialog(null,"验证成功!","恭喜您",

                        JOptionPane.PLAIN_MESSAGE);

         }

         else

         {

                   JOptionPane.showMessageDialog(null,"验证失败!","很遗憾",

                                     JOptionPane.PLAIN_MESSAGE);

         }

         }

}

 

【实现结果截图】

 

【实验总结】

Java语言中输出字符串时,先随机从97-122的数中随机抽出固定长度的int整数,用intValue强制转换成char类型的字符串,在判断输入的验证码与给出的随机验证码是否一致时,开始用双等号,一直出不来,改成用equals()则能成功判断

原因是因为字符串是对象类型,不能简单的用双等号判断,==判断是根据内存地址来判断,而不同对象即使内容一样,内存地址也不一样,所以不能成功判断,要用A.equals(B)来判断字符串

posted @ 2017-10-07 16:13  萌萌程序猿  阅读(328)  评论(0编辑  收藏  举报