课堂Java小程序(加减乘除与验证码)
一、编写一个程序,用户输入两个数,求出其加减乘除,并用消息框
显示计算结果。
1.设计思想:从键盘输入两个数字和运算符,然后计算。将输入的数字及运算符由字符型转换为整型,再用if判断输入的运算符,根据运算符进行对应的+-*/运算,最后输出结果。
2.程序流程图:

3.Calculate.java 源程序代码:
package demo;
import javax.swing.JOptionPane; // import class JOptionPane
public class Calculate {
public static void main( String args[] )
{
String firstNumber, // first string entered by user
secondNumber, // second string entered by user
obj1; //运算符 entered by user
int number1, // first number to add
number2, // second number to add
obj2, //运算符
sum, // sum of number1 and number2
subtract, //number1 和 number2的差
multiply, //number 和 number2的乘积
divide; //number1÷number2
// read in first number from user as a string
firstNumber =
JOptionPane.showInputDialog( "请输入第一个数:" );
// read in second number from user as a string
secondNumber =
JOptionPane.showInputDialog( "请输入第二个数:" );
//输入+-*/符号
obj1=
JOptionPane.showInputDialog( "请输入数字1/2/3/4中任意一个,分别代表的是 + - * / :" );
// convert numbers from type String to type int
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
obj2 = Integer.parseInt( obj1);
//计算加减乘除
sum = number1 + number2;
subtract = number1 - number2;
multiply = number1 * number2;
divide = number1 / number2;
//匹配运算符与运算结果
if(obj2==1)
JOptionPane.showMessageDialog(
null, number1 +"+"+number2+" = " + sum,
"Results",JOptionPane.PLAIN_MESSAGE );
else if(obj2==2)
JOptionPane.showMessageDialog(
null, number1 +"-"+number2+" =" + subtract,
"Results",JOptionPane.PLAIN_MESSAGE );
else if(obj2==3)
JOptionPane.showMessageDialog(
null, number1+"*"+number2+" =" + multiply,
"Results",JOptionPane.PLAIN_MESSAGE );
else if(obj2==4)
JOptionPane.showMessageDialog(
null, number1+"/"+number2+" = " + divide,
"Results",JOptionPane.PLAIN_MESSAGE );
else
JOptionPane.showMessageDialog(
null, "此运算符错误,请重新运行程序并输入",
"Results",JOptionPane.PLAIN_MESSAGE );
// display the results
System.exit( 0 ); // terminate the program
}
}
4.结果:
(1)加法运算:


(2)减法运算:


(3)乘法运算:


(4)除法运算:


(5)运算符输入错误:


二、在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码。要求根据Random Str.java:使用类型转换生成六位验证字符串,示例程序每次运行时,都会生成不同的字符串。实现上述用户输入验证码的功能。(可以扩展如何实现整个用户登录界面的设计和功能的实现。
1.设计思想:先用类型转换生成6位随机验证字符串,然后用户输入验证码,判断生成的验证码与用户所输入的是否一致,若一致,验证成功,否则,验证失败。
2.程序流程图:

3.源程序:Yanzhengma.java文件
package demo;
import javax.swing.*;
public class Yanzhengma {
public static void main(String[] args){
//6位随机字符串的生成
String result = "";
for(int i = 0 ; i < 6 ; i ++)
{
int intVal = (int)(Math.random() * 26 + 97);
result = result + (char)intVal;
}
//输入验证码
String input=JOptionPane.showInputDialog("验证码:\n"+result,"
请在此输入以上验证码");
//判断验证码与所输入的是否一致
if(input.equals(result))
{
JOptionPane.showMessageDialog(null, "验证成功!","恭喜!
", JOptionPane.PLAIN_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null, "对不起,验证失败!
","请重新验证", JOptionPane.PLAIN_MESSAGE);
}
}
}
4.结果:



5.实验总结:在判断验证码与所输入的是否一致时,我开始编写的程序是
if(input==result),可无论验证码与所输入的是否一致,它都报错。

后来想起老师上课讲的“equals()”与“==”等价,于是用了if(input.equals(result)),程序才成功。但现在还是不理解为什么用“==”不行。
课堂Java小程序(加减乘除与验证码)的更多相关文章
- 输出多行字符的一个简单JAVA小程序
public class JAVA { public static void main(String[] args) { System.out.println("-------------- ...
- [干货教程]仿网易云课堂微信小程序开发实战经验
本篇文章想跟大家分享下:我们公司“湖北诚万兴科技”最近刚帮客户定制开发.目前已上线的“哎咆课堂”微信小程序的开发经验分享.首先大概介绍下这个小程序所涉及到的主要技术点:微信登录.微信支付.微信小程序F ...
- 浏览器兼容java小程序配置说明
最近在使用的一个web应用系统是内嵌了java小程序,遇到了各种浏览器兼容性问题,现梳理如下: 1.通过以下链接检测当前电脑是否已经安装有java https://java.com/zh_CN/dow ...
- 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口
框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- 2015.11.27初识java一集简单的java小程序
JAVA配置环境变量方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_ ...
- java的数据类型,几个java小程序
1:求圆的面积 还好看了c++,不然直接看这课件还真是看不懂……加油吧 要从键盘读入数据可以用Scanner类的nextlnt()或者nextDouble()方法,首先创建Scanner类的一个实例, ...
- 微信小程序之获取验证码js
在微信小程序中怎样实现获取验证码的倒计时功能捏,倒计时的原理是一样一样的,就是某些地方需要注意. 第一步:结构 <view class='get-code' wx:if="{{!isS ...
- 微信小程序【获取验证码】倒计时效果
最近开始接触微信小程序,会记录一些相关的小功能——例如这次是点击[获取验证码]按钮出现的倒计时效果. 原文: http://blog.csdn.net/Wu_shuxuan/article/detai ...
随机推荐
- c# Enumerable中Aggregate和Join的使用
参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/asp.net-core-environment.html http://www.yuanjiaochen ...
- 微信小程序教程汇总
目前市面上在内测期间出来的一些实战类教程还是很不错的,主要还是去快速学习小程序开发的整体流程,一个组件一个组件的讲的很可能微信小程序一升级,这个组件就变了,事实本就如此,谁让现在是内测呢.我们不怕,下 ...
- Java集合类--温习笔记
最近面试发现自己的知识框架有好多问题.明明脑子里知道这个知识点,流程原理也都明白,可就是说不好,不知道是自己表达技能没点,还是确实是自己基础有问题.不管了,再巩固下基础知识总是没错的,反正最近空闲时间 ...
- MongoDB备份(mongodump)和恢复(mongorestore)
MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe和mongorestore.exe文件 1.备份数据使用下面的命令: >mongodump -h ...
- 用 eric6 与 PyQt5 实现python的极速GUI编程(系列04)---- PyQt5自带教程:地址簿(address book)
[引子] 在PyQt5自带教程中,地址簿(address book)程序没有完全实现界面与业务逻辑分离. 本文我打算用eric6+PyQt5对其进行改写,以实现界面与逻辑完全分离. [概览] 1.界面 ...
- 站在风口,你或许就是那年薪20w+的程序猿
最近面试了一些人,也在群上跟一些群友聊起,发现现在的互联网真是热,一些工作才两三年的期望的薪资都是十几K的起,这真是让我们这些早几年就成为程序猿的情何以堪!正所谓是站在风口上,猪也能飞起来!我在这里就 ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- Entity Framework 6 Recipes 2nd Edition(11-4)译 -> 在”模型定义”函数里调用另一个”模型定义”函数
11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11 ...
- CI Weekly #5 | 微服务架构下的持续部署与交付
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- ActiveMQ的集群方案对比及部署
转载:http://blog.csdn.net/lifetragedy/article/details/51869032 ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这 ...