凯鲁嘎吉
用书写铭记日常,最迷人的不在远方

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

显示计算结果。

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

 

posted on 2016-10-05 23:56  凯鲁嘎吉  阅读(2040)  评论(0编辑  收藏  举报