java项目加减乘除验证码_课堂Java小程序(加减乘除与验证码)

一、编写一个程序,用户输入两个数,求出其加减乘除,并用消息框

显示计算结果。

1.设计思想:从键盘输入两个数字和运算符,然后计算。将输入的数字及运算符由字符型转换为整型,再用if判断输入的运算符,根据运算符进行对应的+-*/运算,最后输出结果。

2.程序流程图:

33e357b808ba9cc569eb7f454d43491d.png

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)加法运算:

ed3020ec439ae36df46af1cd98a6767c.png 

8bb76d7df214aaac0cd77ac8035e7a99.png

9cb747f3955b9ad9e7e503be32aae2fb.png 

6d4d1c6bd3b0ea6ae44a73f65c86a087.png

(2)减法运算:

00d5d529529240921898e88135ffaf9b.png 

7c9855199b6f7f3fc688be683d4e7d78.png

d912904e720381bac9f9157d2e4e9b87.png 

de31a15cb35a3af1ecba6bf94ce80ada.png

(3)乘法运算:

9080aa320114176a227eb1187285a55e.png 

8463fa2ba06849c9a8973f496a629ee6.png

b5c99e7d28fd31dfcb8d30a4af8f9f69.png 

9e92c4d80915845d564b327fce7be415.png

(4)除法运算:

02948716c795c3c3b5808b78b181bafb.png 

ee8d4a5a7f3f77d57557fffbcbab047a.png

ffd1802df882b3b6fa807bdeac0162a8.png 

099474a333d41e94306c051ab543a453.png

(5)运算符输入错误:

9b095559d09694d645b5c11e0cf78e05.png 

8944fd0e802911b40248dfebb5ebfb2e.png

c83b185cbc4cebc678ce87d654e8481d.png 

69d697762f246f875d41c3d288855b29.png

二、在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码。要求根据Random Str.java:使用类型转换生成六位验证字符串,示例程序每次运行时,都会生成不同的字符串。实现上述用户输入验证码的功能。(可以扩展如何实现整个用户登录界面的设计和功能的实现。

1.设计思想:先用类型转换生成6位随机验证字符串,然后用户输入验证码,判断生成的验证码与用户所输入的是否一致,若一致,验证成功,否则,验证失败。

2.程序流程图:

51d216dc27bf0bad545c64201eb1d3da.png

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.结果:

f9e69886bc51049473658e75ed6a9452.png 

df178f7b1fc024994d1897006c4f9e68.png

3df245872c1f69a360782ab729146925.png

edb82e9f452645d750f4d0af189be710.png 

cc6017e625e7166fcce6ab2895d90f8b.png

5.实验总结:在判断验证码与所输入的是否一致时,我开始编写的程序是

if(input==result),可无论验证码与所输入的是否一致,它都报错。

574a1e908cae978a488d5a6dda170720.png 

4de4584f7d5d4daf8e445815877a4088.png

后来想起老师上课讲的“equals()”与“==”等价,于是用了if(input.equals(result)),程序才成功。但现在还是不理解为什么用“==”不行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言绘图:可爱叮当猫

大家对于叮当猫可以说是很熟悉了吧&#xff0c;他还有另外一个名字&#xff0c;也就是哆啦a梦。即便你没有看过他的电影动画&#xff0c;也总会听说过的。叮当猫神奇的口袋总是能够掏出我们幻想功能的任何道具&#xff0c;任意门能够带我们去到任何地方&#xff0c;以及插在头上…

jgit git pull_使用JGit API探索Git内部

jgit git pull您是否想过提交及​​其内容如何存储在Git中&#xff1f; 好吧&#xff0c;我有&#xff0c;在上一个下雨的周末我有一些空闲时间&#xff0c;所以我做了一些研究。 因为我对Java的感觉比对Bash的感觉要多&#xff0c;所以我使用JGit和一些学习测试来探究提交的G…

MFC实现Windows锁屏

编辑Windows锁屏锁屏软件相信大家都见过&#xff0c;以前我去网吧上网的时候也用过这个功能&#xff0c;当你有事情需要立即离开&#xff0c;而又不想让别人碰你的电脑&#xff0c;就需要用扫锁屏软件啦&#xff0c;锁住屏幕之后等回来的时候再输入密码解锁。同样的&#xff0c…

学习红客技术必备

互联网时代已悄悄来临&#xff0c;作为新时代的人们&#xff0c;我们日常生活、工作、学习方面都需要借助互联网来完成&#xff0c;这样&#xff0c;又产生一种新的问题&#xff0c;那就是网络安全的问题&#xff0c;有时我们拼命加班好不容易完成的东西&#xff0c;在一夜之间…

md5withrsa java_浏览器运行java插件报错:Algorithm constraints check failed: MD5withRSA

今天使用kvm管理机房机器的时候发现一只连不上&#xff0c;报以下错误&#xff1a;sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Algorithm constraints check failed: MD5withRSA我确认我已经把…

今晚课题:2019-3-20

今晚课题C/C万年历技术实现原理上课时间&#xff1a;20:30--22:30上课老师&#xff1a;杰越教育-Larry老师上课地址&#xff1a;https://ke.qq.com/course/353889 课程内容&#xff1a;1、C/Cfor逻辑原理2、重要点数据结构分析3、万年历效果实现展示赢在别人休息时&#xff0c;…

新版本的Selenium 4 Alpha会有什么期望?

我们所有人都属于测试领域&#xff0c;他们熟悉Selenium&#xff0c;Selenium是业界最流行的开源自动化工具之一。 Selenium的创始成员Simon Stewart在2018年8月正式宣布Selenium 4的发布日期以及它将为用户带来哪些新功能时&#xff0c;我们感到非常兴奋。 与Selenium 3一样&…

今晚课题:2019-3-22

今晚课题数据结构必会重点集合上课时间&#xff1a;20:30--22:30上课老师&#xff1a;杰越教育-Larry老师上课地址&#xff1a;https://ke.qq.com/course/353889 课程内容&#xff1a;1、C/C技术工作运用2、数据结构重点数组定义特点3、工作项目数组合理使用赢在别人休息时&…

Drools DMN最新开源引擎性能改进

我们一直在寻求改善Drools DMN开源引擎的性能。 我们最近审查了DMN用例&#xff0c;其中输入数据节点的实际输入总体有所不同。 这突出显示了引擎的次佳性能&#xff0c;我们在最新版本中对此进行了改进。 我想分享我们的发现&#xff01; 基准制定 当我们开始为该用例运行一个…

今晚课题:2019-3-23

今晚课题剖析《服务器高并发-IOCP模型架构》上课时间&#xff1a;2019/03/23 20:30--22:30授课讲师&#xff1a;杰越教育C/C学院--Vico课程链接&#xff1a;https://ke.qq.com/course/353889?tuin7472c9c 课程内容&#xff1a; 1、C/C编程语言入门精通 2、C线程技术在服务器…

使用Selenium WebDriver测试自动化的22条实用技巧

使用Selenium进行测试自动化已使全球的网站测试人员能够轻松执行自动化的网站测试。 Webdriver是Selenium框架的核心组件&#xff0c;通过它您可以针对不同类型的浏览器&#xff08;例如Google Chrome&#xff0c;Mozilla Firefox&#xff0c;Safari&#xff0c;Opera&#xff…

这么奇葩搞笑的代码注释你见过吗

程序员作为一种“异类”&#xff0c;虽然他们平时给人们的留下的印象并不太好&#xff0c;觉得他们只会写代码。但是有的时候不得不佩服他们天马行空的想象力&#xff0c;他们可能会利用注释让你噗嗤一笑&#xff0c;下面我们来看看那些奇葩搞笑的代码注释吧。注释1&#xff1a…

C语言与Java的深情对话:儿子,还得多练几年啊!老子还是老子

很多小伙伴都老是会碰到疑问&#xff0c;其实还是基础没打扎实&#xff0c;这些题如果你不看答案你能知道多少呢&#xff1f;如果还有很多不知道就证明基础没打扎实&#xff0c;如果你还在入门纠结&#xff0c;如果你还在苦恼怎么入门&#xff01;小编有个建议&#xff0c;可以…

BAT人脸识别功能第二步-人脸检测

今晚课题点击【阅读原文】或长按图片【识别图中的二维码】即可参加今晚的课程。

java中插入排序实例_java中对插入排序的理解以及实例

一、基本思想通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时&#xff0c;左手是空的&#xff0c;牌面朝下放在桌上。接着&#xff0c;一次从桌上摸起一张牌&a…

经典游戏底层框架--迷宫游戏构成原理剖析

今晚课题点击【阅读原文】或长按图片【识别图中的二维码】即可参加今晚的课程。

突破100万年薪《多线程服务器端架构》

今晚课题点击【阅读原文】或长按图片【识别图中的二维码】即可参加今晚的课程。

Java中的观察者设计模式

在本教程中&#xff0c;我们将讨论Observer设计模式。 观察者模式有两个主要方面- 主题和观察者 。 当我们的系统有多个对象&#xff08;称为观察者&#xff09;时 &#xff0c;将使用一个模式&#xff0c;该对象依赖于一个特定对象&#xff08; 主体&#xff09;的状态 。 所…

java class api 中文乱码_SpringMVC之springmvc原始api,请求中文乱码问题

先搞一波效果图1.Controllerpackage com.tz.controller;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Required;import org.springframe…

从流水线工人,到谷歌上班的程序媛

非科班、转行当程序员的励志故事有很多&#xff0c;我们在 8 年前扩散分享过一个国外的故事&#xff1a;我来自于一个东欧国家。我在一个煤矿里工作了很多年&#xff08;在一个很深的矿井里&#xff09;。每天我都处在危险中&#xff0c;那些年都是这样度过的。后来我感觉过够了…