四则运算和验证码--源码
四则运算:
程序设计思想:
编写两个函数,分别随机输出+,-,*,/,和数字,在主函数中调用两个函数,输出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函数。