软件工程结对作业02
设计思想:
写好java程序后,需要将程序嵌入网页中,编写jsp脚本文件,使用数组来实现java和jsp的交互;session标签,可以实现网页之间参数的传递。
源程序代码(java):
import java.util.Scanner; import java.util.ArrayList; public class random_03{public static void main(String[] args){int N,i,N1,N2;int sum=0;String str;String hh; Scanner in=new Scanner(System.in); change fra=new change();System.out.println("请输入需要打印的运算题的数目:");N=in.nextInt();System.out.println("请选择是否需要分数运算(Y/N):");hh=in.next();if(hh.equals("Y"))//分数运算 {for(i=0;i<N;i++){ int a,b,c,d;int s1,s2;a=(int) (Math.random()*100);b=(int) (Math.random()*99+1);//分母不等于0c=(int) (Math.random()*100);d=(int) (Math.random()*99+1);int h=(int)(Math.random()*4);int aa=0,bb=0,cc=0,dd=0;//为了产生分数,分子也不可为零if(a==0)a=(int) (Math.random()*99+1);if(c==0)c=(int) (Math.random()*99+1);//化简分数int j;j=fra.change_(a,b);aa=a/j;bb=b/j;//化简分数int p;p=fra.change_(c,d);cc=c/p;dd=d/p;int j1;int s11,s22;String str1;if(h==0){ //化简后,分母等于1时,直接输出分子if(bb!=1&&dd!=1)System.out.println(aa+"/"+bb+" + "+cc+"/"+dd+"=");else if(bb==1&&dd!=1)System.out.println(aa+" + "+cc+"/"+dd+"=");else if(bb!=1&&dd==1)System.out.println(aa+"/"+bb+" + "+cc+"=");elseSystem.out.println(aa+"+"+cc+"=");//分数加法计算s1=aa*dd+bb*cc;s2=bb*dd;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题."); }else if(h==1){//不能产生负数int t1,t2;if((a/b-c/d)<0){t1=aa;aa=cc;cc=t1;t2=bb;bb=dd;dd=t2;}//化简后,分母等于1时,直接输出分子 if(bb!=1&&dd!=1)System.out.println(aa+"/"+bb+" - "+cc+"/"+dd+"="); else if(bb==1&&dd!=1)System.out.println(aa+" - "+cc+"/"+dd+"=");else if(bb!=1&&dd==1)System.out.println(aa+"/"+bb+" - "+cc+"=");elseSystem.out.println(aa+"-"+cc+"=");//分数减法计算s1=aa*dd-bb*cc;s2=bb*dd;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题.");}else if(h==2){//化简后,分母等于1时,直接输出分子if(bb!=1&&dd!=1)System.out.println(aa+"/"+bb+" * "+cc+"/"+dd+"=");else if(bb==1&&dd!=1)System.out.println(aa+" * "+cc+"/"+dd+"=");else if(bb!=1&&dd==1)System.out.println(aa+"/"+bb+" * "+cc+"=");elseSystem.out.println(aa+"*"+cc+"=");//分数乘法计算s1=aa*cc;s2=bb*dd;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题.");}else{ //化简后,分母等于1时,直接输出分子if(bb!=1&&dd!=1)System.out.println("("+aa+"/"+bb+")"+" / "+"("+cc+"/"+dd+")"+"=");else if(bb==1&&dd!=1)System.out.println(aa+" / "+"("+cc+"/"+dd+")"+"=");else if(bb!=1&&dd==1)System.out.println("("+aa+"/"+bb+")"+" / "+cc+"=");elseSystem.out.println(aa+"/"+cc+"=");//分数除法计算s1=aa*dd;s2=bb*cc;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题.");}}}else if(hh.equals("N"))//整数运算 {System.out.println("请选择是否需要产生括号的运算题(Y/N):");String str1,str2;double strr2;str=in.next();double strr1=0;double ss;if(str.equals("Y")){System.out.println("请输入数值范围:");N1=in.nextInt();for(i=0;i<N;i++){ArrayList<Integer> al1=new ArrayList<Integer>();//申请动态数组存放操作数ArrayList<Integer> al2=new ArrayList<Integer>();//申请动态数组存放运算符int m,n,a,b;int j,k;int h1;h1=(int) (Math.random()*5+1);int h2=0;m=(int) (Math.random()*2+3);//限制操作数个数n=m-1;//运算符个数for(j=0;j<m;j++){a=(int) (Math.random()*(N1-1)+1);al1.add(a);}//将操作数压入al1数组for(k=0;k<n;k++){b=(int) (Math.random()*4);al2.add(b);}//将运算符压入al2数组if(m==3)//产生的操作数是3个 {if((int)al2.get(0)>(int)al2.get(1))//比较优先级 {if((int)al2.get(0)==1){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"+"+(int)al1.get(2));strr1=(int)al1.get(0)-(int)al1.get(1)+(int)al1.get(2);} else if((int)al2.get(0)==2){if((int)al2.get(1)==0){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");strr1=(int)al1.get(0)*((int)al1.get(1)+(int)al1.get(2));}else if((int)al2.get(1)==1){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")");strr1=(int)al1.get(0)*((int)al1.get(1)-(int)al1.get(2));}}else if((int)al2.get(0)==3){if((int)al2.get(1)==0){h2=h1*((int)al1.get(1)+(int)al1.get(2));System.out.print(h2+"/"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");strr1=h1;}else if((int)al2.get(1)==1){if((int)al1.get(1)>(int)al1.get(2)){h2=h1*((int)al1.get(1)-(int)al1.get(2));System.out.print((h2+"/"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")"));strr1=h1;}else{h2=h1*((int)al1.get(2)-(int)al1.get(1));System.out.print((h2+"/"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")"));strr1=h1;}}if((int)al2.get(1)==2){h2=h1*(int)al1.get(1);System.out.print((h2+"/"+(int)al1.get(1)+"*"+(int)al1.get(2)));strr1=h1*(int)al1.get(2);}}}else if((int)al2.get(0)<(int)al2.get(1)||(int)al2.get(0)==(int)al2.get(1))//比较优先级 {if((int)al2.get(0)==0){if((int)al2.get(1)==0){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"+"+(int)al1.get(2));strr1=(int)al1.get(0)+(int)al1.get(1)+(int)al1.get(2);}else if((int)al2.get(1)==1){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"-"+(int)al1.get(2));strr1=(int)al1.get(0)+(int)al1.get(1)-(int)al1.get(2);}else if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"*"+(int)al1.get(2));strr1=(int)al1.get(0)+(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>=(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(2));strr1=(int)al1.get(0)+h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(1));strr1=(int)al1.get(0)+h1;}}}else if((int)al2.get(0)==1){if((int)al2.get(1)==1){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"-"+(int)al1.get(2));strr1=(int)al1.get(0)-(int)al1.get(1)-(int)al1.get(2);}else if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"*"+(int)al1.get(2));strr1=(int)al1.get(0)-(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>=(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(2));strr1=(int)al1.get(0)-h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(1));strr1=(int)al1.get(0)-h1;}}}else if((int)al2.get(0)==2){if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"*"+(int)al1.get(1)+"*"+(int)al1.get(2));strr1=(int)al1.get(0)*(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"*"+h2+"/"+(int)al1.get(2));strr1=(int)al1.get(0)*h2/(int)al1.get(2);}}else if((int)al2.get(0)==3){if((int)al1.get(1)>=(int)al1.get(2)){h2=h1*(int)al1.get(2);int h22=0;h22=h1*(h2/(int)al1.get(2));System.out.print(h22+"/"+"("+(h2+"/"+(int)al1.get(2)+")"));strr1=h1;}else{h2=h1*(int)al1.get(1);int h22=0;h22=h1*(h2/(int)al1.get(1));System.out.print(h22+"/"+"("+h2+"/"+(int)al1.get(1)+")");strr1=h1;}}}System.out.print("=");ss=in.nextDouble();if(fra.judge(strr1,ss)==1){sum++;}System.out.println("正确"+sum+"道题.");}else if(m==4)//产生的操作数等于4个 {double sumss=0;int r=0;double list[]=new double[2];//存放和for(r=0;r<2;r++){list[r]=0;}System.out.print("(");if((int)al2.get(0)>(int)al2.get(1))//比较运算符优先级 {if((int)al2.get(0)==1)//第一个出现减法 {if(((int)al1.get(0)-(int)al1.get(1))>=0){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"+"+(int)al1.get(2));list[0]=(int)al1.get(0)-(int)al1.get(1)+(int)al1.get(2);}else{System.out.print((int)al1.get(1)+"-"+(int)al1.get(0)+"+"+(int)al1.get(2));list[0]=(int)al1.get(1)-(int)al1.get(0)+(int)al1.get(2);}}else if((int)al2.get(0)==2)//第一个出现乘法 {if((int)al2.get(1)==0){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");list[0]=(int)al1.get(0)*+((int)al1.get(1)+(int)al1.get(2));}else if((int)al2.get(1)==1){if(((int)al1.get(1)-(int)al1.get(2))>=0){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")");list[0]=(int)al1.get(0)*((int)al1.get(1)-(int)al1.get(2));}else{System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(2)+"-"+(int)al1.get(1)+")");list[0]=(int)al1.get(0)*((int)al1.get(2)-(int)al1.get(1));}}}else if((int)al2.get(0)==3)//第一个出现除法 {if((int)al2.get(1)==0){h2=h1*((int)al1.get(1)+(int)al1.get(2));System.out.print(h2+"/"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");list[0]=h1;}else if((int)al2.get(1)==1){if((int)al1.get(1)==(int)al1.get(2)){h2=h1*(((int)al1.get(1)+1)-(int)al1.get(2));System.out.print(h2+"/"+"("+((int)al1.get(1)+1)+"-"+(int)al1.get(2)+")");list[0]=h1;}else {if(((int)al1.get(1)-(int)al1.get(2))>0){h2=h1*((int)al1.get(1)-(int)al1.get(2));System.out.print(h2+"/"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")");list[0]=h1;}else{h2=h1*((int)al1.get(2)-(int)al1.get(1));System.out.print(h2+"/"+"("+(int)al1.get(2)+"-"+(int)al1.get(1)+")");list[0]=h1;}}}if((int)al2.get(1)==2){h2=h1*(int)al1.get(1);System.out.print(h2+"/"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=h1*(int)al1.get(2);}}}else if((int)al2.get(0)<(int)al2.get(1)||(int)al2.get(0)==(int)al2.get(1)){if((int)al2.get(0)==0){if((int)al2.get(1)==0)//第一个出现加法 {System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"+"+(int)al1.get(2));list[0]=(int)al1.get(0)+(int)al1.get(1)+(int)al1.get(2);}else if((int)al2.get(1)==1){if((int)al1.get(1)-(int)al1.get(2)>=0){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"-"+(int)al1.get(2));list[0]=(int)al1.get(0)+(int)al1.get(1)-(int)al1.get(2);}else{System.out.print((int)al1.get(0)+"+"+(int)al1.get(2)+"-"+(int)al1.get(1));list[0]=(int)al1.get(0)+(int)al1.get(2)-(int)al1.get(1);}}else if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=(int)al1.get(0)+(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(2));list[0]=(int)al1.get(0)+h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(1));list[0]=(int)al1.get(0)+h1;}}}else if((int)al2.get(0)==1)//第一个出现减法 {if((int)al2.get(1)==1){if(((int)al1.get(0)-(int)al1.get(1))>=0){if(((int)al1.get(0)-(int)al1.get(1)-(int)al1.get(2))>=0){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"-"+(int)al1.get(2));list[0]=(int)al1.get(0)-(int)al1.get(1)-(int)al1.get(2);}else{System.out.print((int)al1.get(2)+"-"+(int)al1.get(0)+"+"+(int)al1.get(1));list[0]=(int)al1.get(2)-(int)al1.get(0)-(int)al1.get(1);}}else{if(((int)al1.get(1)-(int)al1.get(0)-(int)al1.get(2))>=0){System.out.print((int)al1.get(1)+"-"+(int)al1.get(0)+"-"+(int)al1.get(2));list[0]=(int)al1.get(1)-(int)al1.get(0)-(int)al1.get(2);}else{System.out.print((int)al1.get(2)+"-"+(int)al1.get(1)+"+"+(int)al1.get(0));list[0]=(int)al1.get(2)-(int)al1.get(1)-(int)al1.get(0);}}}else if((int)al2.get(1)==2){if(((int)al1.get(0)-(int)al1.get(1)*(int)al1.get(2))>=0){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=(int)al1.get(0)-(int)al1.get(1)*(int)al1.get(2);}else{System.out.print((int)al1.get(1)+"*"+(int)al1.get(2)+"-"+(int)al1.get(0));list[0]=(int)al1.get(1)*(int)al1.get(2)-(int)al1.get(0);}}else if((int)al2.get(1)==3){if((int)al1.get(1)>(int)al1.get(2)){if(((int)al1.get(0)-(int)al1.get(1)/(int)al1.get(2))>=0){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(2));list[0]=(int)al1.get(0)-h1;}else{h2=h1*(int)al1.get(2);System.out.print(h2+"/"+(int)al1.get(2)+"-"+(int)al1.get(0));list[0]=h1-(int)al1.get(0);}}else{if(((int)al1.get(0)-(int)al1.get(2)/(int)al1.get(1))>=0){h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(1));list[0]=(int)al1.get(0)-h1;}else{h2=h1*(int)al1.get(1);System.out.print(h2+"/"+(int)al1.get(1)+"-"+(int)al1.get(0));list[0]=h1-(int)al1.get(0);}}}}else if((int)al2.get(0)==2)//第一个出现乘法 {if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"*"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=(int)al1.get(0)*(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"*"+h2+"/"+(int)al1.get(2));list[0]=(int)al1.get(0)*h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"*"+h2+"/"+(int)al1.get(1));list[0]=(int)al1.get(0)*h1;}}}else if((int)al2.get(0)==3)//第一个出现除法 {if((int)al1.get(1)>(int)al1.get(2)){h2=h1*(int)al1.get(2);int hh2=0;hh2=h1*((int)al1.get(1)/(int)al1.get(2));System.out.print(hh2+"/"+"("+h2+"/"+(int)al1.get(2)+")");list[0]=h1;}else{h2=h1*(int)al1.get(1);int hh2=0;hh2=h1*((int)al1.get(2)/(int)al1.get(1));System.out.print(hh2+"/"+"("+h2+"/"+(int)al1.get(1)+")");list[0]=h1;}}}System.out.print(")");list[1]=(int)al1.get(3);if((int)al2.get(2)==0){System.out.print("+"+(int)al1.get(3));sumss=list[0]+(int)al1.get(3);}else if((int)al2.get(2)==1){if(list[0]-list[1]>=0){System.out.print("-"+(int)al1.get(3));sumss=list[0]-(int)al1.get(3);}else if(list[0]<list[1]){System.out.print("+"+(int)al1.get(3));sumss=(int)al1.get(3)+list[0];}}else if((int)al2.get(2)==2){System.out.print("*"+(int)al1.get(3));sumss=list[0]*(int)al1.get(3);}else if((int)al2.get(2)==3){System.out.print("*"+(int)al1.get(3));sumss=list[0]*(int)al1.get(3);}System.out.print("=");strr1=in.nextDouble();if(fra.judge(sumss,strr1)==1){sum++;}System.out.println(sumss);System.out.println("正确"+sum+"道题.");}}}else if(str.equals("N"))//不需要产生括号 {System.out.println("请输入数值范围:");N2=in.nextInt();System.out.println("请选择是否有无乘除法的运算题(Y/N):");str1=in.next();if(str1.equals("Y"))// 有乘除法 { System.out.println("请选择是否有无余数的运算题(Y/N):");str2=in.next(); if(str2.equals("Y"))//需要有余数 {for(i=0;i<N;i++){int a,b,c,c1,h;a=(int) (Math.random()*N2);b=(int) (Math.random()*N2);h=(int) (Math.random()*4);//控制加减运算符c=(int) (Math.random()*(N2-1)+1);c1=(int) (Math.random()*10+1);//控制倍数if(h==0){System.out.println(a+"+"+b+"=");double s;s=a+b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==1){double s;if(a-b>=0){System.out.println(a+"-"+b+"=");s=a-b;}else{System.out.println(b+"-"+a+"=");s=b-a;}strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==2){System.out.println(a+"*"+b+"=");double s;s=a*b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;} }if(h==3){int d,k,dd,cc; int j1;k=(int) (Math.random()*(c-1)+1);//必须产生余数d=c*c1+k;System.out.println(d+"/"+c+"=");String s = null;String result;if(c!=1)s=d+"/"+c;if(c==1)s=String.valueOf(d);result=in.next();if(fra.judge_FRA(s,result)==1){sum++;}}}System.out.println("正确"+sum+"道题");}else if(str2.equals("N"))//不需要产生余数 {for(i=0;i<N;i++){int a,b,c,c1,h;a=(int) (Math.random()*N2);b=(int) (Math.random()*N2);h=(int) (Math.random()*4);//控制加减运算符c=(int) (Math.random()*(N2-1)+1);c1=(int) (Math.random()*10+1);//控制倍数 if(h==0){System.out.println(a+"+"+b+"=");double s;s=a+b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==1){System.out.println(a+"-"+b+"=");double s;s=a-b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==2)//乘法 {System.out.println(a+"*"+b+"=");double s;s=a*b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==3)//除法,不产生余数 {int d; //不能产生余数d=c*c1;System.out.println(d+"/"+c+"=");double s;s=d/c;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}}System.out.println("正确"+sum+"道题");}}else if(str1.equals("N"))//没有乘除法 {int a,b,h; for(i=0;i<N;i++){a=(int) (Math.random()*N2);b=(int) (Math.random()*N2);h=(int) (Math.random()*2);//控制运算符if(h==0){System.out.println(a+"+"+b+"=");double s;s=a+b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==1){System.out.println(a+"-"+b+"=");double s;s=a-b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}}System.out.println("正确"+sum+"道题");}}}in.close();} } class change{Scanner in=new Scanner(System.in);int change_(int a,int b)//化简分数 {int r1;if(a>b){r1=b;}elser1=a;int k=0;for(int j=1;j<=r1;j++){if(a%j==0&&b%j==0){k=j;} }return k;}int judge_FRA(String str1,String str)//分数运算判断对错,计算正确次数 {int ju;if(str.equals(str1)){System.out.println("正确");ju=1;}else{System.out.println("错误");ju=0;}return ju;}int judge(double s,double ss)//整数判断对错,计算正确次数 {int ju;if(s==ss){System.out.println("正确");ju=1;}else{System.out.println("错误");ju=0;}return ju;} }结果截图:
NewFile.html
<!DOCTYPE html><html><head><title>首页</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta name="keywords" content="keyword1,keyword2,keyword3"><meta name="description" content="this is my page"><!--<link rel="stylesheet" type="text/css" href="./styles.css">--></head> <body background="images/A1.jpg"><h1 align="center">二柱子四则运算</h1><!-- 传递参数的值给NewFile.jsp处理 --><form action="NewFile.jsp" method="post"> <!-- 互斥选择,值只能有一个 --><center><br>请选择数值范围的最小值:<input type="radio" checked name="TopNumber" value=20>20<input type="radio" name="TopNumber" value=30>30<input type="radio" name="TopNumber" value=50>50<input type="radio" name="TopNumber" value=80>80<input type="radio" name="TopNumber" value=100>100<br><br>请选择数值范围的最大值:<input type="radio" checked name="BaseNumber" value=0>0<input type="radio" name="BaseNumber" value=1>1<input type="radio" name="BaseNumber" value=3>3<input type="radio" name="BaseNumber" value=5>5<input type="radio" name="BaseNumber" value=10>10<br><!-- 多项选择,值可以有多个,在jsp中用数组保存 --><br>请在以下选项中打勾(可多选):<input type="checkbox" name="function" value=1>有乘除<input type="checkbox" name="function" value=2>无余数<input type="checkbox" name="function" value=3>有括号<br><br><input type="submit" name="submit" value="进入答题"></center></form></body></html>
NewFile.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="ttes.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>答题</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body background="images/A2.jpg">
<%
String[] s=new String[30];
float k[]=new float[30];
random3 a=new random3();
request.setCharacterEncoding("UTF-8");
// String[] function = request.getParameterValues("function");
int N1;
N1=request.getParameter("N1");
a.SetValue(N1,1);
if(function!=null){
/* for(int i=0;i<function.length;i++){
if(function[i].equals("1"))
{
a.SetValue1(1);
}
if(function[i].equals("2"))
{
a.SetValue2(1);
}
if(function[i].equals("3"))
{
a.SetValue3(0);
}
}*/
}
%>
<form action="Myjsp.jsp" method="post">
<center>
<%
a.main();
float temp;
String[] se=new String[30];
for(int i=0;i<30;i++){
s[i]=a.sumss; //求和
se[i]="name";
se[i]=se[i]+i;
k[i]=a.strr2; //正确答案
out.print("<tr>"+s[i]+"</tr>");
out.println("<br>");
%>
<input type="text" name=<%=se[i] %>><br>
<%
}
session.setAttribute( "v1",s);
session.setAttribute( "v2",k);
%>
<br><input type="submit" name="submit" value="提交">
<% %>
</center>
</form>
</body>
</html>
random3.java
package ttes;public class random3{public static void main(){int N,i,N1,N2;int sum=0;String str;String hh; Scanner in=new Scanner(System.in); change fra=new change();System.out.println("请输入需要打印的运算题的数目:");N=in.nextInt();System.out.println("请选择是否需要分数运算(Y/N):");hh=in.next();if(hh.equals("Y"))//分数运算 {for(i=0;i<N;i++){ int a,b,c,d;int s1,s2;a=(int) (Math.random()*100);b=(int) (Math.random()*99+1);//分母不等于0c=(int) (Math.random()*100);d=(int) (Math.random()*99+1);int h=(int)(Math.random()*4);int aa=0,bb=0,cc=0,dd=0;//为了产生分数,分子也不可为零if(a==0)a=(int) (Math.random()*99+1);if(c==0)c=(int) (Math.random()*99+1);//化简分数int j;j=fra.change_(a,b);aa=a/j;bb=b/j;//化简分数int p;p=fra.change_(c,d);cc=c/p;dd=d/p;int j1;int s11,s22;String str1;if(h==0){ //化简后,分母等于1时,直接输出分子if(bb!=1&&dd!=1)System.out.println(aa+"/"+bb+" + "+cc+"/"+dd+"=");else if(bb==1&&dd!=1)System.out.println(aa+" + "+cc+"/"+dd+"=");else if(bb!=1&&dd==1)System.out.println(aa+"/"+bb+" + "+cc+"=");elseSystem.out.println(aa+"+"+cc+"=");//分数加法计算s1=aa*dd+bb*cc;s2=bb*dd;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题."); }else if(h==1){//不能产生负数int t1,t2;if((a/b-c/d)<0){t1=aa;aa=cc;cc=t1;t2=bb;bb=dd;dd=t2;}//化简后,分母等于1时,直接输出分子 if(bb!=1&&dd!=1)System.out.println(aa+"/"+bb+" - "+cc+"/"+dd+"="); else if(bb==1&&dd!=1)System.out.println(aa+" - "+cc+"/"+dd+"=");else if(bb!=1&&dd==1)System.out.println(aa+"/"+bb+" - "+cc+"=");elseSystem.out.println(aa+"-"+cc+"=");//分数减法计算s1=aa*dd-bb*cc;s2=bb*dd;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题.");}else if(h==2){//化简后,分母等于1时,直接输出分子if(bb!=1&&dd!=1)System.out.println(aa+"/"+bb+" * "+cc+"/"+dd+"=");else if(bb==1&&dd!=1)System.out.println(aa+" * "+cc+"/"+dd+"=");else if(bb!=1&&dd==1)System.out.println(aa+"/"+bb+" * "+cc+"=");elseSystem.out.println(aa+"*"+cc+"=");//分数乘法计算s1=aa*cc;s2=bb*dd;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题.");}else{ //化简后,分母等于1时,直接输出分子if(bb!=1&&dd!=1)System.out.println("("+aa+"/"+bb+")"+" / "+"("+cc+"/"+dd+")"+"=");else if(bb==1&&dd!=1)System.out.println(aa+" / "+"("+cc+"/"+dd+")"+"=");else if(bb!=1&&dd==1)System.out.println("("+aa+"/"+bb+")"+" / "+cc+"=");elseSystem.out.println(aa+"/"+cc+"=");//分数除法计算s1=aa*dd;s2=bb*cc;j1=fra.change_(s1,s2);s11=s1/j1;s22=s2/j1;str1=s11+"/"+s22;str=in.next();if(fra.judge_FRA(str1,str)==1){sum++;}System.out.println("正确"+sum+"道题.");}}}else if(hh.equals("N"))//整数运算 {System.out.println("请选择是否需要产生括号的运算题(Y/N):");String str1,str2;double strr2;str=in.next();double strr1=0;double ss;if(str.equals("Y")){System.out.println("请输入数值范围:");N1=in.nextInt();for(i=0;i<N;i++){ArrayList<Integer> al1=new ArrayList<Integer>();//申请动态数组存放操作数ArrayList<Integer> al2=new ArrayList<Integer>();//申请动态数组存放运算符int m,n,a,b;int j,k;int h1;h1=(int) (Math.random()*5+1);int h2=0;m=(int) (Math.random()*2+3);//限制操作数个数n=m-1;//运算符个数for(j=0;j<m;j++){a=(int) (Math.random()*(N1-1)+1);al1.add(a);}//将操作数压入al1数组for(k=0;k<n;k++){b=(int) (Math.random()*4);al2.add(b);}//将运算符压入al2数组if(m==3)//产生的操作数是3个 {if((int)al2.get(0)>(int)al2.get(1))//比较优先级 {if((int)al2.get(0)==1){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"+"+(int)al1.get(2));strr1=(int)al1.get(0)-(int)al1.get(1)+(int)al1.get(2);} else if((int)al2.get(0)==2){if((int)al2.get(1)==0){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");strr1=(int)al1.get(0)*((int)al1.get(1)+(int)al1.get(2));}else if((int)al2.get(1)==1){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")");strr1=(int)al1.get(0)*((int)al1.get(1)-(int)al1.get(2));}}else if((int)al2.get(0)==3){if((int)al2.get(1)==0){h2=h1*((int)al1.get(1)+(int)al1.get(2));System.out.print(h2+"/"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");strr1=h1;}else if((int)al2.get(1)==1){if((int)al1.get(1)>(int)al1.get(2)){h2=h1*((int)al1.get(1)-(int)al1.get(2));System.out.print((h2+"/"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")"));strr1=h1;}else{h2=h1*((int)al1.get(2)-(int)al1.get(1));System.out.print((h2+"/"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")"));strr1=h1;}}if((int)al2.get(1)==2){h2=h1*(int)al1.get(1);System.out.print((h2+"/"+(int)al1.get(1)+"*"+(int)al1.get(2)));strr1=h1*(int)al1.get(2);}}}else if((int)al2.get(0)<(int)al2.get(1)||(int)al2.get(0)==(int)al2.get(1))//比较优先级 {if((int)al2.get(0)==0){if((int)al2.get(1)==0){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"+"+(int)al1.get(2));strr1=(int)al1.get(0)+(int)al1.get(1)+(int)al1.get(2);}else if((int)al2.get(1)==1){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"-"+(int)al1.get(2));strr1=(int)al1.get(0)+(int)al1.get(1)-(int)al1.get(2);}else if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"*"+(int)al1.get(2));strr1=(int)al1.get(0)+(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>=(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(2));strr1=(int)al1.get(0)+h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(1));strr1=(int)al1.get(0)+h1;}}}else if((int)al2.get(0)==1){if((int)al2.get(1)==1){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"-"+(int)al1.get(2));strr1=(int)al1.get(0)-(int)al1.get(1)-(int)al1.get(2);}else if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"*"+(int)al1.get(2));strr1=(int)al1.get(0)-(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>=(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(2));strr1=(int)al1.get(0)-h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(1));strr1=(int)al1.get(0)-h1;}}}else if((int)al2.get(0)==2){if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"*"+(int)al1.get(1)+"*"+(int)al1.get(2));strr1=(int)al1.get(0)*(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"*"+h2+"/"+(int)al1.get(2));strr1=(int)al1.get(0)*h2/(int)al1.get(2);}}else if((int)al2.get(0)==3){if((int)al1.get(1)>=(int)al1.get(2)){h2=h1*(int)al1.get(2);int h22=0;h22=h1*(h2/(int)al1.get(2));System.out.print(h22+"/"+"("+(h2+"/"+(int)al1.get(2)+")"));strr1=h1;}else{h2=h1*(int)al1.get(1);int h22=0;h22=h1*(h2/(int)al1.get(1));System.out.print(h22+"/"+"("+h2+"/"+(int)al1.get(1)+")");strr1=h1;}}}System.out.print("=");ss=in.nextDouble();if(fra.judge(strr1,ss)==1){sum++;}System.out.println("正确"+sum+"道题.");}else if(m==4)//产生的操作数等于4个 {double sumss=0;int r=0;double list[]=new double[2];//存放和for(r=0;r<2;r++){list[r]=0;}System.out.print("(");if((int)al2.get(0)>(int)al2.get(1))//比较运算符优先级 {if((int)al2.get(0)==1)//第一个出现减法 {if(((int)al1.get(0)-(int)al1.get(1))>=0){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"+"+(int)al1.get(2));list[0]=(int)al1.get(0)-(int)al1.get(1)+(int)al1.get(2);}else{System.out.print((int)al1.get(1)+"-"+(int)al1.get(0)+"+"+(int)al1.get(2));list[0]=(int)al1.get(1)-(int)al1.get(0)+(int)al1.get(2);}}else if((int)al2.get(0)==2)//第一个出现乘法 {if((int)al2.get(1)==0){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");list[0]=(int)al1.get(0)*+((int)al1.get(1)+(int)al1.get(2));}else if((int)al2.get(1)==1){if(((int)al1.get(1)-(int)al1.get(2))>=0){System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")");list[0]=(int)al1.get(0)*((int)al1.get(1)-(int)al1.get(2));}else{System.out.print((int)al1.get(0)+"*"+"("+(int)al1.get(2)+"-"+(int)al1.get(1)+")");list[0]=(int)al1.get(0)*((int)al1.get(2)-(int)al1.get(1));}}}else if((int)al2.get(0)==3)//第一个出现除法 {if((int)al2.get(1)==0){h2=h1*((int)al1.get(1)+(int)al1.get(2));System.out.print(h2+"/"+"("+(int)al1.get(1)+"+"+(int)al1.get(2)+")");list[0]=h1;}else if((int)al2.get(1)==1){if((int)al1.get(1)==(int)al1.get(2)){h2=h1*(((int)al1.get(1)+1)-(int)al1.get(2));System.out.print(h2+"/"+"("+((int)al1.get(1)+1)+"-"+(int)al1.get(2)+")");list[0]=h1;}else {if(((int)al1.get(1)-(int)al1.get(2))>0){h2=h1*((int)al1.get(1)-(int)al1.get(2));System.out.print(h2+"/"+"("+(int)al1.get(1)+"-"+(int)al1.get(2)+")");list[0]=h1;}else{h2=h1*((int)al1.get(2)-(int)al1.get(1));System.out.print(h2+"/"+"("+(int)al1.get(2)+"-"+(int)al1.get(1)+")");list[0]=h1;}}}if((int)al2.get(1)==2){h2=h1*(int)al1.get(1);System.out.print(h2+"/"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=h1*(int)al1.get(2);}}}else if((int)al2.get(0)<(int)al2.get(1)||(int)al2.get(0)==(int)al2.get(1)){if((int)al2.get(0)==0){if((int)al2.get(1)==0)//第一个出现加法 {System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"+"+(int)al1.get(2));list[0]=(int)al1.get(0)+(int)al1.get(1)+(int)al1.get(2);}else if((int)al2.get(1)==1){if((int)al1.get(1)-(int)al1.get(2)>=0){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"-"+(int)al1.get(2));list[0]=(int)al1.get(0)+(int)al1.get(1)-(int)al1.get(2);}else{System.out.print((int)al1.get(0)+"+"+(int)al1.get(2)+"-"+(int)al1.get(1));list[0]=(int)al1.get(0)+(int)al1.get(2)-(int)al1.get(1);}}else if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"+"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=(int)al1.get(0)+(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(2));list[0]=(int)al1.get(0)+h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"+"+h2+"/"+(int)al1.get(1));list[0]=(int)al1.get(0)+h1;}}}else if((int)al2.get(0)==1)//第一个出现减法 {if((int)al2.get(1)==1){if(((int)al1.get(0)-(int)al1.get(1))>=0){if(((int)al1.get(0)-(int)al1.get(1)-(int)al1.get(2))>=0){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"-"+(int)al1.get(2));list[0]=(int)al1.get(0)-(int)al1.get(1)-(int)al1.get(2);}else{System.out.print((int)al1.get(2)+"-"+(int)al1.get(0)+"+"+(int)al1.get(1));list[0]=(int)al1.get(2)-(int)al1.get(0)-(int)al1.get(1);}}else{if(((int)al1.get(1)-(int)al1.get(0)-(int)al1.get(2))>=0){System.out.print((int)al1.get(1)+"-"+(int)al1.get(0)+"-"+(int)al1.get(2));list[0]=(int)al1.get(1)-(int)al1.get(0)-(int)al1.get(2);}else{System.out.print((int)al1.get(2)+"-"+(int)al1.get(1)+"+"+(int)al1.get(0));list[0]=(int)al1.get(2)-(int)al1.get(1)-(int)al1.get(0);}}}else if((int)al2.get(1)==2){if(((int)al1.get(0)-(int)al1.get(1)*(int)al1.get(2))>=0){System.out.print((int)al1.get(0)+"-"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=(int)al1.get(0)-(int)al1.get(1)*(int)al1.get(2);}else{System.out.print((int)al1.get(1)+"*"+(int)al1.get(2)+"-"+(int)al1.get(0));list[0]=(int)al1.get(1)*(int)al1.get(2)-(int)al1.get(0);}}else if((int)al2.get(1)==3){if((int)al1.get(1)>(int)al1.get(2)){if(((int)al1.get(0)-(int)al1.get(1)/(int)al1.get(2))>=0){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(2));list[0]=(int)al1.get(0)-h1;}else{h2=h1*(int)al1.get(2);System.out.print(h2+"/"+(int)al1.get(2)+"-"+(int)al1.get(0));list[0]=h1-(int)al1.get(0);}}else{if(((int)al1.get(0)-(int)al1.get(2)/(int)al1.get(1))>=0){h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"-"+h2+"/"+(int)al1.get(1));list[0]=(int)al1.get(0)-h1;}else{h2=h1*(int)al1.get(1);System.out.print(h2+"/"+(int)al1.get(1)+"-"+(int)al1.get(0));list[0]=h1-(int)al1.get(0);}}}}else if((int)al2.get(0)==2)//第一个出现乘法 {if((int)al2.get(1)==2){System.out.print((int)al1.get(0)+"*"+(int)al1.get(1)+"*"+(int)al1.get(2));list[0]=(int)al1.get(0)*(int)al1.get(1)*(int)al1.get(2);}else if((int)al2.get(1)==3){if((int)al1.get(1)>(int)al1.get(2)){h2=h1*(int)al1.get(2);System.out.print((int)al1.get(0)+"*"+h2+"/"+(int)al1.get(2));list[0]=(int)al1.get(0)*h1;}else{h2=h1*(int)al1.get(1);System.out.print((int)al1.get(0)+"*"+h2+"/"+(int)al1.get(1));list[0]=(int)al1.get(0)*h1;}}}else if((int)al2.get(0)==3)//第一个出现除法 {if((int)al1.get(1)>(int)al1.get(2)){h2=h1*(int)al1.get(2);int hh2=0;hh2=h1*((int)al1.get(1)/(int)al1.get(2));System.out.print(hh2+"/"+"("+h2+"/"+(int)al1.get(2)+")");list[0]=h1;}else{h2=h1*(int)al1.get(1);int hh2=0;hh2=h1*((int)al1.get(2)/(int)al1.get(1));System.out.print(hh2+"/"+"("+h2+"/"+(int)al1.get(1)+")");list[0]=h1;}}}System.out.print(")");list[1]=(int)al1.get(3);if((int)al2.get(2)==0){System.out.print("+"+(int)al1.get(3));sumss=list[0]+(int)al1.get(3);}else if((int)al2.get(2)==1){if(list[0]-list[1]>=0){System.out.print("-"+(int)al1.get(3));sumss=list[0]-(int)al1.get(3);}else if(list[0]<list[1]){System.out.print("+"+(int)al1.get(3));sumss=(int)al1.get(3)+list[0];}}else if((int)al2.get(2)==2){System.out.print("*"+(int)al1.get(3));sumss=list[0]*(int)al1.get(3);}else if((int)al2.get(2)==3){System.out.print("*"+(int)al1.get(3));sumss=list[0]*(int)al1.get(3);}System.out.print("=");strr1=in.nextDouble();if(fra.judge(sumss,strr1)==1){sum++;}System.out.println(sumss);System.out.println("正确"+sum+"道题.");}}}else if(str.equals("N"))//不需要产生括号 {System.out.println("请输入数值范围:");N2=in.nextInt();System.out.println("请选择是否有无乘除法的运算题(Y/N):");str1=in.next();if(str1.equals("Y"))// 有乘除法 { System.out.println("请选择是否有无余数的运算题(Y/N):");str2=in.next(); if(str2.equals("Y"))//需要有余数 {for(i=0;i<N;i++){int a,b,c,c1,h;a=(int) (Math.random()*N2);b=(int) (Math.random()*N2);h=(int) (Math.random()*4);//控制加减运算符c=(int) (Math.random()*(N2-1)+1);c1=(int) (Math.random()*10+1);//控制倍数if(h==0){System.out.println(a+"+"+b+"=");double s;s=a+b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==1){double s;if(a-b>=0){System.out.println(a+"-"+b+"=");s=a-b;}else{System.out.println(b+"-"+a+"=");s=b-a;}strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==2){System.out.println(a+"*"+b+"=");double s;s=a*b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;} }if(h==3){int d,k,dd,cc; int j1;k=(int) (Math.random()*(c-1)+1);//必须产生余数d=c*c1+k;System.out.println(d+"/"+c+"=");String s = null;String result;if(c!=1)s=d+"/"+c;if(c==1)s=String.valueOf(d);result=in.next();if(fra.judge_FRA(s,result)==1){sum++;}}}System.out.println("正确"+sum+"道题");}else if(str2.equals("N"))//不需要产生余数 {for(i=0;i<N;i++){int a,b,c,c1,h;a=(int) (Math.random()*N2);b=(int) (Math.random()*N2);h=(int) (Math.random()*4);//控制加减运算符c=(int) (Math.random()*(N2-1)+1);c1=(int) (Math.random()*10+1);//控制倍数 if(h==0){System.out.println(a+"+"+b+"=");double s;s=a+b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==1){System.out.println(a+"-"+b+"=");double s;s=a-b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==2)//乘法 {System.out.println(a+"*"+b+"=");double s;s=a*b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==3)//除法,不产生余数 {int d; //不能产生余数d=c*c1;System.out.println(d+"/"+c+"=");double s;s=d/c;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}}System.out.println("正确"+sum+"道题");}}else if(str1.equals("N"))//没有乘除法 {int a,b,h; for(i=0;i<N;i++){a=(int) (Math.random()*N2);b=(int) (Math.random()*N2);h=(int) (Math.random()*2);//控制运算符if(h==0){System.out.println(a+"+"+b+"=");double s;s=a+b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}if(h==1){System.out.println(a+"-"+b+"=");double s;s=a-b;strr2=in.nextDouble();if(fra.judge(s,strr2)==1){sum++;}}}System.out.println("正确"+sum+"道题");}}}in.close();} } class change{Scanner in=new Scanner(System.in);int change_(int a,int b)//化简分数 {int r1;if(a>b){r1=b;}elser1=a;int k=0;for(int j=1;j<=r1;j++){if(a%j==0&&b%j==0){k=j;} }return k;}int judge_FRA(String str1,String str)//分数运算判断对错,计算正确次数 {int ju;if(str.equals(str1)){System.out.println("正确");ju=1;}else{System.out.println("错误");ju=0;}return ju;}int judge(double s,double ss)//整数判断对错,计算正确次数 {int ju;if(s==ss){System.out.println("正确");ju=1;}else{System.out.println("错误");ju=0;}return ju;} }结果截图:
编程总结:
我们已经写好了java程序,功能也基本实现,但是在程序嵌入到网页过程中,我们遇到了很多困难,由于我们的程序并没有分模块去写,所以在调用时出现了很多困难,正确结果及用户输入的结果也没有保存在数组里面,所以在网页中不能传递数组值进行判断;后我们查阅了资料,借鉴阅读了一些已完成的程序,但是我们的程序并没有修改正确,嵌入不正确,没有完成后面的功能。
周活动总结表
姓名:杨茵 日期 2016/4/8
|
| 听课 | 编写代码 | 阅读课本 | 准备考试 | 总结程序 |
| 日总计 |
| 周日 |
|
|
|
|
|
|
|
| 周一 |
|
|
|
|
|
|
|
| 周二 | 100 | 103 |
|
|
|
| 203 |
| 周三 |
| 140 |
|
|
|
| 140 |
| 周四 |
| 203 |
|
|
|
| 203 |
| 周五 |
| 338 |
|
|
|
| 338 |
| 周六 |
|
| 120 |
| 82 |
| 202 |
| 周总计 | 100 | 784 | 120 |
| 82 |
| 1086 |
时间记录日志
学生:杨茵 日期:2016/4/8
教师:王建民 课程:软件工程
| 日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 | 备注 | C | U |
| 4/3 |
|
|
|
|
|
|
|
|
| 4/4 |
|
|
|
|
|
|
|
|
| 4/5 | 14:00 | 15:50 | 10 | 100 | 听课 |
|
|
|
| 4/5 | 16:14 | 17:57 | 10 | 103 | 编程序 课堂测试 |
|
|
|
| 4/6 | 15:00 | 17:30 | 10 | 140 | 编程序 网页 |
|
|
|
| 4/7 | 18:10 | 21:43 | 10 | 203 | 结对编程序 | 休息 |
|
|
| 4/8 | 16:30 | 18:00 | 10 | 80 | 结对编程序 | 休息 |
|
|
| 4/8 | 19:11 | 23:40 | 11 | 258 | 结对编程序 | 聊天 |
|
|
| 4/9 | 14:17 | 17:52 | 13 | 202 | 总结程序,写博文,读《构建之法》 |
|
|
转载于:https://www.cnblogs.com/yyting/p/5371719.html
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的软件工程结对作业02的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 防水卷材防水薄膜是干什么用的性能是什么
- 下一篇: Motor XT615 开机无限卡屏重启