四则运算和验证码--源码

四则运算:

程序设计思想:

编写两个函数,分别随机输出+,-,*,/,和数字,在主函数中调用两个函数,输出30道运算题。

程序流程图:

①  主函数中调用下列函数,组成算式

②  static String getChar()//获取字符

  static int getmath()//获取数字

源程序:

package 四则运算;

import java.util.Random;

public class yunsuan {

   static String getChar()//获取字符

       {

              String a="+";

              Random random=new Random();

              int i;

              i=random.nextInt(5);

              if(i==1||i==0)a="+";

              if(i==2)a="-";

              if(i==3)a="*";

              if(i==4)a="/";

       return a;

       }

         static int getmath()//获取数字

       {int a;

       Random random=new Random();

       a=random.nextInt(17);

             

              return a;

       }

public static void main(String[] args) {

              // TODO 自动生成的方法存根

int charmath;

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

{    

do

{Random random=new Random();

charmath=random.nextInt(4);

}while(charmath==0);

int[] math=new int[charmath+1];

String[] zifu=new String[charmath];

 

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

{

       math[j]=getmath();

}

for(int k=0;k<=charmath-1;k++)

{

       zifu[k]=getChar();

}

for(int p=0;p<charmath;p++)

{

       System.out.print(math[p]);

       /*if(zifu[p]=="/")

              do

              {

                     Random random=new Random();

                     math[p]=random.nextInt(10);

                    

              }while(Math.round(math[p-1]/math[p])!= (math[p-1]/math[p]));*/

       System.out.print(zifu[p]);

}

System.out.print(math[charmath]);

System.out.print("="+"\n");

 

}

       }

 

}

验证码:

程序设计思想:

编写一个函数随机输出6个字符,在主函数中调用这个函数,并和用户输入的函数进行比较。

程序流程图:

 

①  主函数中调用下列函数

②  public static String getRandomString(int length)

源程序:

package lianxi;

import java.util.Scanner;

import java.util.Random;

 

public class RandomStringUtils {

    public static String getRandomString(int length) {

        String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        Random random = new Random();

        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < length; ++i) {

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

            sb.append(str.charAt(number));

        }

        return sb.toString();

    }

 

   

 

    public static void main(String[] args) {

        String inviteCode = "";

      

        for (int i = 0; i < 10000000; i++) {

            inviteCode = getRandomString(6);

        }

 

       

        System.out.println("验证码:" + inviteCode  );

        System.out.println("用户输入验证码:");

        Scanner in=new Scanner(System.in);

        String a;

        a=in.next();

        if(a.equals(inviteCode)==true)

             System.out.println("输入正确!");

        else

             System.out.println("输入错误!");

      

      

    }

 

}

 

 

实验总结:

验证码的获取随机的,然后从主函数中调用,字符串的比较应用eqals函数。

 

 

 

 

 

 

 

 

 

posted @ 2018-10-08 09:44  ZQL2017  阅读(198)  评论(0编辑  收藏  举报