欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

软件工程结对作业02

发布时间:2025/5/22 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 软件工程结对作业02 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

设计思想:

      写好java程序后,需要将程序嵌入网页中,编写jsp脚本文件,使用数组来实现javajsp的交互;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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。