• 四则运算和随机验证码


    四则运算源码

        package sizeyunsuan;

    import java.util.Random;

    public class sizeyunsuan {

        static String f()//分数的数字,出现问题,定义这个函数,需要返回值,

        {

         int i=(int)(Math.random()*10);

         int j=(int)(Math.random()*10);

         if(i>=j)

         {

         int temp=i;

         i=j;

         j=temp;

         }

    return ("("+i+"/"+j+")");

        }

    public static void main(String[] args) {

    // TODO Auto-generated method stub

        Random random=new Random();

        int k;

        String a,b;

        sizeyunsuan sizeyusuan=new sizeyunsuan();//不知道啥意思???

        for(int i=0;i<30;i++)//30个四则运算

        {

            /*int number1=0;//两个随机数变量

            for(int j=0;j<4;j++)

             {

             number1+=random.nextInt(10);

             }

            int number2=0;

            for(int j=0;j<4;j++)

            {

            number2+=random.nextInt(10);

            }*/

         int number1=(int)(Math.random()*1000);//要把这两个数的定义,放到for循环里,否则会出现数字不变的情况

            int number2=(int)(Math.random()*1000);

         a=sizeyunsuan.f();

         b=sizeyunsuan.f();

         switch((int)(Math.random()*4))//switch的选择是四个中的随机

         {

         case 0:

         k=(int)(Math.random()*3);//k需要先定义

            if(k==0)

            System.out.println(number1+"+"+number2+"=");

            else if(k==1)

            System.out.println(a+"+"+number1+"=");

            else if(k==2)

            System.out.println(a+"+"+b+"=");

            break;

         case 1:

         k=(int)(Math.random()*3);

         if(number1<number2)

             {

             int temp=number1;

             number1=number2;

             number2=temp;

             }

         if(k==0)

         System.out.println(number1+"-"+number2+"=");

         else if(k==1)

         System.out.println(number1+"-"+a+"=");

         else if(k==2)

         System.out.println(a+"-"+b+"=");

         break;

         case 2:

         k=(int)(Math.random()*3);

         if(k==0)

          System.out.println(number1+"*"+number2+"=");

          else if(k==1)

          System.out.println(number1+"*"+a+"=");

          else if(k==2)

          System.out.println(a+"*"+b+"=");

          break;

         case 3:

         while(number2==0)

                number2= (int)(Math.random()*1000);

         System.out.println(number1+"/"+number2+"=");

         break;

         }

        }

    }

    }

    程序运行结果截图

    程序设计思想:

       设计过程首先是调查小学四则运算具体是什么样的,了解需求后根据需求进行制作,其次我想到需要解决的问题是如何实现每次输出的题目都是任意的,然后需要用选择语句进行加减乘除的运算,另外需要加上一个方法用来实现分数的运算。

    实验总结:

       1.switch((int)(Math.random()*4))//switch的选择是四个中的随机

       2.出现这样的错误,就是虽然加减乘除实现了,但是数字不改变,原因就是

    int number1=(int)(Math.random()*1000);

    int number2=(int)(Math.random()*1000); //要把这两个数的定义,放到for循环里,否则会出现数字不变的情况 

     

     

     

     

     

     

     

     

     

     

    随意验证码源码

    package yanzheng;

     

    import java.awt.Button;

    import java.awt.Frame;

    import java.awt.Panel;

    import java.awt.TextField;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    import java.util.Random;

     

    import javax.swing.JFrame;

    import javax.swing.JLabel;

     

    public class Yanzheng extends Frame {

    public static void main(String[] args) {

    Frame f=new Frame("请登录");//赋予f新空间窗口

        f.addWindowListener(new WindowAdapter(){  

            public void windowClosing(WindowEvent e){  

                System.exit(0);  

            }  

            });

    Panel p=new Panel();//赋予p新空间输入框

    p.add(new JLabel("登录名"));//输入框名字为登录名

    p.add(new TextField(40));

    p.add(new JLabel("密码"));

    p.add(new TextField(40));//文本长度为20

    p.add(new JLabel("验证码"));

    p.add(new TextField(30));

    f.add(p);//把文本框加入到窗口中

    f.setBounds(0,0,400,400);//最后俩分别是宽和高

    f.setVisible(true);

            String str= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";//含有字符和数字的字符串

            Random random=new Random();//随即类初始化

            StringBuffer sb=new StringBuffer();//StringBuffer类生成,为了拼接字符串。

            for(int i=0;i<4;i++)

            {

            int number=random.nextInt(62);//[0,62]

            sb.append(str.charAt(number));//连接这四个字符

            }

            String a= sb.toString();

            p.add(new JLabel(a));

    }

     

    }

    程勋运行截图

    程序设计思想:

    首先需要解决出现一个界面的问题,然后在界面上出现文字和空白输入框,最后要解决出现随机验证码的问题

    实验总结:

    出现的错误有:解决出先一个窗口后无法关闭,需要有专门的语句来关闭窗口,否则打开一个就多一个窗口。

    基本上问题都是百度去找答案的,有很多关于界面的名词都不知道,而且引入的东西很多,需要去记忆。

  • 相关阅读:
    inkscape
    关于英语写作词源方面的。。
    ubuntu上配tensorflow
    腾讯面试指南
    使用traceview进行Android性能测试(转)
    Android CTS 测试总结【转】
    JAVA和C++区别
    接口继承
    vim实现全选功能
    C++异常机制的实现方式和开销分析
  • 原文地址:https://www.cnblogs.com/xcl666/p/9752549.html
Copyright © 2020-2023  润新知