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)),程序才成功。但现在还是不理解为什么用“==”不行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值