[实验任务四]:

1.程序设计思想

根据RandomStr.java,随机生成6位字母,在对话框中输出,用户根据随机生成的验证码对应输入,程序根据用户输入的内容与系统随机生成的验证码字符比较,若相等,程序结束;若不相等,程序循环,重新生成6位验证码,用户重新输入,直到输入正确为止。

2.程序流程图

3.源程序

import javax.swing.*;

public class yanzhengma6wei {

public static void main(String[] args)

{

// TODO Auto-generated method stub

//定义一个空字符串

String result;

String shuru;

do

{

result = "";

//进行6次循环

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

{

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

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

//将intValue强制转换为char后连接到result后面

result = (String)(result + (char)intVal);

}

//输出随机字符串

shuru=JOptionPane.showInputDialog(null,result,"请输入验证码",JOptionPane.PLAIN_MESSAGE);

if(!shuru.equalsIgnoreCase(result))

JOptionPane.showMessageDialog(null,"输入验证码错误!请重新输入!","error",JOptionPane.PLAIN_MESSAGE);

}while(!shuru.equalsIgnoreCase(result));

System.exit( 0 );

}

}

4.实现结果截图

5.实验总结(包括调试过程中出现的错误等)

系统生成的随机字符串赋值给String型变量result,用户输入的字符赋值给String型变量shuru,在比较两值是否相等时出现问题。不能直接用简单的if(shuru==result),因为字符串变量只是字符串的管理者,并非字符串本身,若想比较,需使用equals()函数,此处应改为if(shuru.equals(result))。

[实验任务五]:(选做)猜数字游戏

1.程序设计思想

用random()函数random()*100+1随机生成1~100的整数,用户输入数字猜想,若猜想数字小于或大于随机数,分别对应输出“猜小了”或“猜大了”,用户重新猜想输入,如此循环,直至猜想与随机数相等,输出“猜对了”,程序结束。

2.程序流程图

3.源代码

import javax.swing.*;

import java.util.Random;

public class guess {

public static void main(String[] args) {

// TODO Auto-generated method stub

int number=(int)(Math.random()*100+1);

String shuru=JOptionPane.showInputDialog(null,"请输入1~100的整数:","Guess",JOptionPane.PLAIN_MESSAGE);

int num=Integer.parseInt(shuru);

do

{

if(num>number)

{

shuru=JOptionPane.showInputDialog(null,"猜大了"+"\n"+"请输入1~100的整数:","reguess",JOptionPane.PLAIN_MESSAGE);

num=Integer.parseInt(shuru);

}

else if(num<number)

{

shuru=JOptionPane.showInputDialog(null,"猜小了"+"\n"+"请输入1~100的整数:","reguess",JOptionPane.PLAIN_MESSAGE);

num=Integer.parseInt(shuru);

}

}while(num!=number);

if(num==number)

{

JOptionPane.showMessageDialog(null,"猜对了!","success",JOptionPane.PLAIN_MESSAGE);

System.exit( 0 );

}

}

}

4.运行结果截图

5.编译错误分析

用户输入的内容为String型,要强制转换为int型,才能和int类型的随机数number相比较,用Integer.parseInt(shuru)。

最新文章

  1. 记录一些PHP7RCC1编译问题
  2. python 中变量的命名方法
  3. 意外作出了一个javascript的服务器,可以通过js调用并执行任何java(包括 所有java 内核基本库)及C#类库,并最终由 C# 执行你提交的javascript代码! 不敢藏私,特与大家分
  4. android国际化(多语言)
  5. linux 下 取进程占用内存(MEM)最高的前10个进程
  6. sc7731 Android 5.1 LCD驱动简明笔记之三
  7. ImageView 会盖掉ScrollView的OnTouchListener,监听Activity的手势
  8. PHP中的面向对象OOP中的魔术方法
  9. Kotlin实现LeetCode算法题之Two Sum
  10. RobotFramework-RIDE环境搭建二:Robot Framework-RIDE安装过程以及踩雷点
  11. Python自然语言处理笔记【二】文本分类之监督式分类的细节问题
  12. 剑指offer题库
  13. Java程序员进击书籍推荐
  14. Codeforces Round #371 (Div. 2) A. Meeting of Old Friends 水题
  15. C#学习笔记(五):while循环和for循环
  16. 算法笔记--字符串hash
  17. 理解Nodejs的Event Loop
  18. [并查集] 1118. Birds in Forest (25)
  19. 混沌数学之Duffing(杜芬)振子
  20. Java Graphics 2D绘制图片 在Liunx上乱码

热门文章

  1. H3C擦除配置
  2. dotnet 启动 JIT 多核心编译提升启动性能
  3. SPOJ - DISUBSTR Distinct Substrings (后缀数组)
  4. UVA live 6667 三维严格LIS
  5. C# 发送电子邮件(smtp)
  6. .bash_profile 文件
  7. 【学习笔鸡】快速沃尔什变换FWT
  8. $Luogu4403$ 秦腾与教学评估 二分
  9. $Poj2956/AcWing116\ The\ Pilots\ Brothers&#39;Refrigerator$ 二进制
  10. HDFS的HA集群原理分析