• 课堂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("验证码: "+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)),程序才成功。但现在还是不理解为什么用“==”不行。

     

  • 相关阅读:
    duilib中各控件响应的消息类型
    CoInitialize()、CoInitializeEx()和AfxOleInit()区别联系
    Linux下反斜杠号""引发的思考
    人生规划和GTD——“知”、“得”与“合”
    一次失败的面试——IBM电话面试
    Duilib介绍以及各个类的简介
    Linux与Windows中动态链接库的分析与对比
    VC++创建、调用dll的方法步骤
    网络对抗 Exp0 Kali安装 Week1
    2018-2019-1 20165226_20165310_20165315 实验五 通讯协议设计
  • 原文地址:https://www.cnblogs.com/kailugaji/p/5933282.html
Copyright © 2020-2023  润新知