01Java语言基础
[实验任务四]:
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)。
01Java语言基础的更多相关文章
- 01-JAVA语言基础(动手动脑)
一.一个JAVA类文件中只能有一个public类吗? 01-JAVA语言基础.ppt第22页“一个Java源文件中可以写多个类,但其中只能有一个类是“公有(public)”的,并且Java要求源文件名 ...
- 01-JAVA语言基础——课后动手动脑
1.一个java类文件中真的只能有一个公有类吗? 请使用Eclipse或javac检测一下以下代码,有错吗? public class Test{ public static void main ...
- 01JAVA语言基础课后作业
1.问题 一个Java类文件中真的只能有一个公有类吗? 请使用Eclipse或javac检测一下以下代码,有错吗? 回答 真的只能有一个公有类 一个Java源文件中最多只能有一个public类,当有 ...
- 01-JAVA语言基础——课程作业1—编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。
1.题目:编写一个程序,此程序从命令行接收多个数字,求和之后输出结果. 2.程序设计思想: 通过运行配置输入数字后,其保存类型为String类型,因此需要采用Integer.valueOf(arg)将 ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- C#语言基础
第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
- 黑马程序员_ C语言基础(二)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): 1.Hello W ...
随机推荐
- 关于css中浮动的理解及实际应用
一.元素浮动的意义及使用:1. 浮动的意义:设置了浮动属性的元素会脱离普通标准流的控制,移动到其父元素中指定的位置的过程,将块级元素放在一行,浮动会脱离标准流,不占位置,会影响标准流,浮动只有左右浮动 ...
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(13)之会员登录注册
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,是我们与用户交 ...
- 浅谈vue $mount()
Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 具体见代码: 顺便 ...
- vue-learning:22 - js - directives
directives 在讲解视图层指令时,我们讲到ref特性,使用它我们可以获取当前DOM元素对象,以便执行相关操作. <div id="app"> <input ...
- WNMP nginx+php5+mysql测试环境安装(Windows7)(二)
3. 安装Zend Optimizer Zend Optimizer对那些在被最终执行之前由Run-Time Complier产生的代码进行优化,提高PHP应用程序的执行速度.一般情况下,执行使用Ze ...
- Lede定时重拨
系统,计划任务, 0 4 * * * ifup wan 梅林定时重拨: #! /bin/sh #断开拨号连接 killall pppd #延时10秒 #重新拨号 pppd >& &a ...
- Hadoop集群分布式安装
一 整体介绍 1.1 硬件环境 本文使用三台服务器搭建hadoop集群,使用Centos7.5系统,服务器均有独立ip 1.2 部署的软件 部署服务:namenode(HA),resourcemana ...
- JAVA字节码文件之结构
开发工具:IEDA.JDK1.8.WinHex 一.字节码文件结构 源代码 package com.jalja.java.bytecode; /** * @Auther: XL * @Date: 20 ...
- 1038 统计同成绩学生 (20 分)C语言
题目描述 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入描述: 输入在第1行给出不超过105的正整数N,即学生总人数.随后1行给出N名学生的百分制整数成绩,中间以空格分隔.最后1 ...
- 1082 射击比赛 (20 分)C语言
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军:谁差得最远,谁就是菜鸟.本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟.我们假设靶心在原点(0,0). 输入 ...