这里我就直接把实验报告发上来了。我直接发的文件。。。。。。
1.设计思想
构成小学题目的要素是一个数字,自加上一个符号,再加上一个数字,再加上等于号
这样的话两个数字可以用随机数,百以内和十以内切换(因为小学二年级的题目加减乘除范围不同)
再用一个控制符号,四以内。用循环就行了,循环打出30道题目
2.源程序
import java.util.Random;//特别鸣谢const伐伐博客上对随机数的讲解
public class timu {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Random rand = new Random();//随机数的声明
int a=0,b=0,c=0;String d=null;//用d来表示加减乘除符号
for(int i=0; i<30; i++)
{
c=rand.nextInt(4) + 1;//用c来判断是哪一种算法,c也用随机数来表示
if(c==1)
{d="+";
a=rand.nextInt(100) + 1;//a,b都是随机数控制在30以内
b=rand.nextInt(100) + 1;
}
else if(c==2)
{d="-";int t;
a=rand.nextInt(100) + 1;
b=rand.nextInt(100) + 1;
if(a<b)
{t=a;a=b;b=t;}//差点忘了,小学生可不学负数,所以要控制大小
}
else if(c==3)//小学生的算法要求是百以内的加减法,十以内的乘除法,所以要改换范围
{d="*";
a=rand.nextInt(10) + 1;
b=rand.nextInt(10) + 1;
}
else if(c==4)
{d="%";
a=rand.nextInt(10) + 1;
b=rand.nextInt(10) + 1;
}
System.out.print(i+1);//打上标号,print不换行,println换行。
System.out.println(".");
System.out.print(a );
System.out.print(d);
System.out.print(b);//把各个部分输出,组成一个个的算式
System.out.println("=");
}
}
实验总结:有很多东西没有注意到的,比如小学生不学负数所以要控制减法的大小判断,随机数的使用方法,格式,输出的换行与否。
1.设计思想
题目的要求其实很简单明了
其实就是产生一个随机字符串
可是我不会用,网上找的方法也都失败了
所以就干脆用随机数一个个的赋值
算了我这么说估计你也听不懂,但这个程序很白痴,虽然我想了很久
- 实验源码
package 课后作业三;//读题目没有读清楚;写了一个还以为要做一个登录界面;copy了一个超级长的的代码改了好久;结果发现是要做一个验证码!?
import java.util.Random;
public class yanzhengma {
/*public static String getRandomString(int length) { //length表示生成字符串的长度
String base = "abcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
}
return sb.toString();
} */
/*function randomWord(randomFlag, min, max) {
let str = ""
range = min,
arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'-','.','~','!','@','#','$','%','^','&','*','(',')','_',':','<','>','?'];
if (randomFlag) {
range = Math.round(Math.random() * (max - min)) + min;// 任意长度
}
for (let i = 0; i < range; i++) {
pos = Math.round(Math.random() * (arr.length - 1));
str += arr[pos];
}
return str;
}
}
}也不行直接完成字符串还是不行*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
Random rand = new Random();
int a=0,b=0,c=0,d=0;
a=rand.nextInt(36) + 1;//估计一眼就能看出来我想写什么样的代码吧
b=rand.nextInt(36) + 1;//其实这道题目的核心就是随机字符串
c=rand.nextInt(36) + 1;//题目中说制作一个随机产生验证码的程序,我就写了了这个
d=rand.nextInt(36) + 1;//上面两种方法是我从网上找的随机字符串的程序,改了也不行,干脆就用最简单的法子
if(a<10)
{System.out.print(a);}
if(a==11)
{System.out.print("a");}
if(a==12)
{System.out.print("b");}
if(a==13)
{System.out.print("c");}
if(a==14)
{System.out.print("d");}
if(a==15)
{System.out.print("e");}
if(a==16)
{System.out.print("f");}
if(a==17)
{System.out.print("g");}
if(a==18)
{System.out.print("h");}
if(a==19)
{System.out.print("i");}
if(a==20)
{System.out.print("j");}
if(a==21)
{System.out.print("k");}
if(a==22)
{System.out.print("l");}
if(a==23)
{System.out.print("m");}
if(a==24)
{System.out.print("n");}
if(a==25)
{System.out.print("o");}
if(a==26)
{System.out.print("p");}
if(a==27)
{System.out.print("q");}
if(a==28)
{System.out.print("r");}
if(a==29)
{System.out.print("s");}
if(a==30)
{System.out.print("t");}
if(a==31)
{System.out.print("u");}
if(a==32)
{System.out.print("v");}
if(a==33)
{System.out.print("w");}
if(a==34)
{System.out.print("x");}
if(a==35)
{System.out.print("y");}
if(a==36)
{System.out.print("z");}
if(b<10)
{System.out.print(a);}
if(b==11)
{System.out.print("a");}
if(b==12)
{System.out.print("b");}
if(b==13)
{System.out.print("c");}
if(b==14)
{System.out.print("d");}
if(b==15)
{System.out.print("e");}
if(b==16)
{System.out.print("f");}
if(b==17)
{System.out.print("g");}
if(b==18)
{System.out.print("h");}
if(b==19)
{System.out.print("i");}
if(b==20)
{System.out.print("j");}
if(b==21)
{System.out.print("k");}
if(b==22)
{System.out.print("l");}
if(b==23)
{System.out.print("m");}
if(b==24)
{System.out.print("n");}
if(b==25)
{System.out.print("o");}
if(b==26)
{System.out.print("p");}
if(b==27)
{System.out.print("q");}
if(b==28)
{System.out.print("r");}
if(b==29)
{System.out.print("s");}
if(b==30)
{System.out.print("t");}
if(b==31)
{System.out.print("u");}
if(b==32)
{System.out.print("v");}
if(b==33)
{System.out.print("w");}
if(b==34)
{System.out.print("x");}
if(b==35)
{System.out.print("y");}
if(b==36)
{System.out.print("z");}
if(c<10)
{System.out.print(a);}
if(c==11)
{System.out.print("a");}
if(c==12)
{System.out.print("b");}
if(c==13)
{System.out.print("c");}
if(c==14)
{System.out.print("d");}
if(c==15)
{System.out.print("e");}
if(c==16)
{System.out.print("f");}
if(c==17)
{System.out.print("g");}
if(c==18)
{System.out.print("h");}
if(c==19)
{System.out.print("i");}
if(c==20)
{System.out.print("j");}
if(c==21)
{System.out.print("k");}
if(c==22)
{System.out.print("l");}
if(c==23)
{System.out.print("m");}
if(c==24)
{System.out.print("n");}
if(c==25)
{System.out.print("o");}
if(c==26)
{System.out.print("p");}
if(c==27)
{System.out.print("q");}
if(c==28)
{System.out.print("r");}
if(c==29)
{System.out.print("s");}
if(c==30)
{System.out.print("t");}
if(c==31)
{System.out.print("u");}
if(c==32)
{System.out.print("v");}
if(c==33)
{System.out.print("w");}
if(c==34)
{System.out.print("x");}
if(c==35)
{System.out.print("y");}
if(c==36)
{System.out.print("z");}
if(d<10)
{System.out.print(a);}
if(d==11)
{System.out.print("a");}
if(d==12)
{System.out.print("b");}
if(d==13)
{System.out.print("c");}
if(d==14)
{System.out.print("d");}
if(d==15)
{System.out.print("e");}
if(d==16)
{System.out.print("f");}
if(d==17)
{System.out.print("g");}
if(d==18)
{System.out.print("h");}
if(d==19)
{System.out.print("i");}
if(d==20)
{System.out.print("j");}
if(d==21)
{System.out.print("k");}
if(d==22)
{System.out.print("l");}
if(d==23)
{System.out.print("m");}
if(d==24)
{System.out.print("n");}
if(d==25)
{System.out.print("o");}
if(d==26)
{System.out.print("p");}
if(d==27)
{System.out.print("q");}
if(d==28)
{System.out.print("r");}
if(d==29)
{System.out.print("s");}
if(d==30)
{System.out.print("t");}
if(d==31)
{System.out.print("u");}
if(d==32)
{System.out.print("v");}
if(d==33)
{System.out.print("w");}
if(d==34)
{System.out.print("x");}
if(d==35)
{System.out.print("y");}
if(d==36)
{System.out.print("z");}
}
}//因为没有说要验证是否正确,所以到此为止了。当然,如果要验证的话也不难,我故意保留了a,b,c,d,且他们都是整形
//只要在输入四个整形,分别对比就好,题目没有要求这里不再赘述
截图
- 实验总结
1.读题目没有读清楚;写了一个还以为要做一个登录界面;copy了一个超级长的的代码改了好久;结果发现是要做一个验证码!?
2.因为随机字符串是真的没有接触过,所以前两次尝试都失败了。
3.有时候高大上的我们做不了,那就用最愚蠢的方法