[实验任务四]:

在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码。

1.程序设计思想

先利用Math.random()得到一个整数,然后将其类型转换为字符类型,连接起来生成六位验证字符串,输入验证码(对话框)利用toLowerCase()函数将输入的字符皆转为小写字母,然后利用Equal函数判断输入的预生成验证码是否吻合,然后以消息框输出信息即可。

2.程序流程图

3.源程序

 import java.util.Random;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Test6 {
     public static void main(String[] args) {
        String s2;
        boolean b=true;
        while(b){
         //定义一个空字符串
     String result = "";
     //进行6次循环
     for(int i = 0 ; i < 6 ; i ++)
     {
     //生成一个97~122的int型的整数
     int intVal = (int)(Math.random() * 26 + 97);
     //将intValue强制转换为char后连接到result后面
     result = result + (char)intVal;
     }
            s2=JOptionPane.showInputDialog( "请输入验证码(不区分大小写)"+result);
            s2=s2.toLowerCase();//把用户输入的大写字母改为小写
        if(s2.equals(result)){
          JOptionPane.showMessageDialog(
               null, " 登录成功 ", "Results",
               JOptionPane.PLAIN_MESSAGE );
            b=false;
        }else{
          JOptionPane.showMessageDialog(
               null, "登录失败,请重新输入", "Results",
               JOptionPane.PLAIN_MESSAGE );
        }
        }
    }
}

4.实现结果截图

5.实验总结

获得字符串的方法值得学习,学会了如何将输入的字母直接转为小写字母,然后利用equal函数作比较,其实java中包类函数多种多样,适合由浅入深的理解。

[实验任务五]:(选做)

猜数字游戏。

1.程序设计思想

对猜数字进行了一定改良,在规定的时间里猜出正确的数字。利用Random类包,先将一个1-100的任意数字赋给a,起初以对话框形式读取设置时间,然后输出开始游戏(消息框)用System.currentTimeMillis()读取当前系统时间,接收输入的数字(对话框),以System.currentTimeMillis()与最初系统时间的差值(即消耗时间)与设置时间比较结果,决定是否结束游戏,其中设有p变量,用以判断最终结果。高低提示(输入数字与系统随机数a的比较,有一判断用以循环输入所猜数字)。

2.程序流程图

3.源程序

import java.util.Random;
import javax.swing.JOptionPane;
public class Guess_Number {
public static void main(String[] args) {
Random random = new Random();
int a=1+(int)(Math.random()*100);//系统给的随机数在1-100
    String s2=JOptionPane.showInputDialog( "输入设置时间" );
    long tt=Long.parseLong(s2);//因为系统时间是long型,所以为了方便比较,所以设为long型
    String firstNumber,s1;
    int p=0;//结果判断
    JOptionPane.showMessageDialog(null, "开始游戏" );  
    final long t=System.currentTimeMillis();//起初时间
    firstNumber =JOptionPane.showInputDialog( "请输出你猜的数字:" );
       int number1= Integer.parseInt( firstNumber );
    while((System.currentTimeMillis()-t)/1000<tt)//游戏结束判断
     {  
    
      if(number1<a)
      {
      JOptionPane.showMessageDialog(null, "低了" );
           
      }
      if(number1>a)
      {
      JOptionPane.showMessageDialog(null, "高了" );
      }
      if(number1==a)
      { JOptionPane.showMessageDialog(null, "恭喜!猜对了" );p=1;break;}
         if(p!=1)//循环输入 猜的数字
          {
           s1=JOptionPane.showInputDialog( "Enter number" );
           number1= Integer.parseInt( s1 );
          }
     }  
    if(p==0)//结果输出
   JOptionPane.showMessageDialog(null, "很遗憾,未能在规定时间猜出数字" );  
}
 
}

4.实现结果截图

5.实验总结

对话框的循环刚开始并没有真正理解,没有形成循环的思维,所以在这一点上花费时间比较多,对字符化界面的理解还不够深刻,希望自己以后能够多做有关方面的例子,加深理解。但是了解了关于java中一种计时器的方法(获取系统时间)。

最新文章

  1. p/invoke碎片--对数组的封送处理
  2. Swift中的部分更新与旧版的区别
  3. win激活查询及修改
  4. LINQ To SQL 语法及实例大全
  5. C++ json库jsoncpp 吐槽
  6. UVa 12206 (字符串哈希) Stammering Aliens
  7. 再次阅读《精通CSS-高级Web标准解决方案(第二版)》
  8. 【转】android资源目录---assets与res/raw区别
  9. 在win7在结构cocos2d-x v3.2rc0开发环境(For Android)
  10. Cygwin 各种情况下中文乱码--终极解决方案
  11. java基础:内存分配(上)
  12. centos 支持复制与粘贴
  13. MapReduce原理1
  14. logback 实例
  15. Introduction to Big Data with PySpark
  16. Beta阶段——2
  17. 一款基于jquery的手风琴图片展示效果
  18. Asp.net的生命周期之页生命周期
  19. 将csv导出json格式
  20. 洛谷10月月赛R2&#183;浴谷八连测R3题解

热门文章

  1. HTML学习第七天(二)
  2. 51nod 1444:破坏道路 广度优先搜索
  3. 2-10 就业课(2.0)-oozie:8、定时任务的执行
  4. C#中使用设置(Settings.settings) Properties.Settings.Default .(配置文件相当重要)
  5. android:imeOptions
  6. 移动 web 开发问题和优化小结
  7. Golang的基础数据类型-布尔型
  8. uniapp 小程序实现自定义底部导航栏(tarbar)
  9. linux添加一个已经存在用户到一个用户组
  10. 关于spring-mvc.xml的静态资源的配置