实验4&5
Posted s硕s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验4&5相关的知识,希望对你有一定的参考价值。
[实验任务四]:
在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码。
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中一种计时器的方法(获取系统时间)。
以上是关于实验4&5的主要内容,如果未能解决你的问题,请参考以下文章