小组成员:李国帅、陈鹏;
设计思路:
在 2的基础上添加一个判断语句;
package suanfa; import java.util.Scanner; public class suanfa { public static void main(String[] args) { // TODO Auto-generated method stub int i,j,number=0,time=0; //--------------------------------------可定制(数量/打印方式)-------------------------------------------------------------- System.out.print("输入你想定制的题目数量 :" ); Scanner in=new Scanner(System. in); int n=in.nextInt(); //-------------------------------------------数值范围---------------------------------------------------------------------- System.out.print("输入数值范围 的最小值:" ); double number1=in.nextInt(); System.out.print("输入数值范围 的最大值: " ); double number2=in.nextInt(); double b[]= new double[n]; double c[]=new double[n]; double d[]=new double[n]; //-------------------------------------------是否有乘除法------------------------------------------------------------------- System.out.print("是否有乘除法:是--1;否--0 : " ); int bool=in.nextInt(); if(bool==1) { //-------------------------------------------除法有无余数------------------------------------------------------------------- System.out.print("是否有余数:是--1;否--0 : " ); int bool1=in.nextInt(); char a[]={'+','-','*','/'}; for( i=0;i<n;i++) { time=i; b[i]=(int)(Math.random()*(number2-number1)+number1); c[i]=(int)(Math.random()*(number2-number1)+number1); j=(int)(Math.random()*(4-0)+0); if(c[i]==0&&a[j]=='/') { i=time-1; continue; } if(a[j]=='+') { d[i]=b[i]+c[i]; } if(a[j]=='-') { d[i]=b[i]-c[i]; } if(a[j]=='*') { d[i]=b[i]*c[i]; } if(a[j]=='/') { if(bool1==1) { if(b[i]%c[i]!=0) { d[i]=b[i]/c[i]; //System.out.print("有余数为 "+b[i]%c[i]+" : " ); } else { i=time-1; continue; } } else { if(b[i]%c[i]==0) { d[i]=b[i]/c[i]; //System.out.print("无余数: " ); } else { i=time-1; continue; } } } // ------------------------------------------- 题目避免重复()---------------------------------------------------------------------- if(i==0) { if(b[0]==b[n-1]&&c[0]==c[n-1]&&d[0]==d[n-1]) { i=time-1; continue; } } else { if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1]) { i=time-1; continue; } } System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;" ); //--------------------------------------------答案是否正确------------------------------------------------------------- System.out.println(" 输入你认为正确的答案:" ); int daan=in.nextInt(); if(daan==d[i]) { System.out.println(" 您答对了;正确答案为 :"+d[i] +";"); number++; } else { System.out.println(" 您答错了;正确答案为 :"+d[i] +";"); } } System.out.println(" 您答对了:"+number +" 道题;"); } else { char a[]={'+','-'}; for( i=0;i<n;i++) { b[i]=(int)(Math.random()*(number2-number1)+number1); c[i]=(int)(Math.random()*(number2-number1)+number1); j=(int)(Math.random()*(2-0)+0); if(c[i]==0&&a[j]=='/') { i=time-1; continue; } if(a[j]=='+') { d[i]=b[i]+c[i]; } if(a[j]=='-') { d[i]=b[i]-c[i]; } // ------------------------------------------- 题目避免重复()---------------------------------------------------------------------- if(i==0) { if(b[0]==b[n-1]&&c[0]==c[n-1]&&d[0]==d[n-1]) { i=time-1; continue; } } else { if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1]) { i=time-1; continue; } } System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;" ); //--------------------------------------------答案是否正确------------------------------------------------------------- System.out.println(" 输入你认为正确的答案:" ); int daan=in.nextInt(); if(daan==d[i]) { System.out.println(" 您答对了;正确答案为 :"+d[i] +";"); number++; } else { System.out.println(" 您答错了;正确答案为 :"+d[i] +";"); } } System.out.println(" 您答对了:"+number +" 道题;"); } } }
截图:
周活动总结表:
|
听课 |
编写代码 |
阅读课本 |
准备考试 |
|
|
日总计 |
周日 |
|
|
|
|
|
|
|
周一 |
100 |
|
50 |
|
|
|
150 |
周二 |
|
30 |
|
|
|
|
30 |
周三 |
|
|
|
|
|
|
|
周四 |
|
50 |
|
|
|
|
50 |
周五 |
|
|
40 |
|
|
|
40 |
周六 |
|
120 |
|
|
|
|
120 |
周总计 |
100 |
200 |
90 |
|
|
|
390 |
时间记录日志:
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
C |
U |
3/21 |
8:00 |
9:50 |
10 |
100 |
听课 |
理论学时,课件 |
|
|
|
15:00 |
16:10 |
20 |
50 |
编程序 |
|
|
|
3/22 |
15:10 |
15:40 |
|
40 |
编程序,讨论 |
|
|
|
3/24 |
17:20 |
18:10 |
|
50 |
编程序 |
|
|
|
3/25 |
21:00 |
22:00 |
20 |
40 |
看书 |
|
|
|
3/26 |
9:00 |
11:00 |
40 |
80 |
编程序 |
|
|
|
|
16:00 |
16:40 |
|
40 |
写报告 |
|
|
|
缺陷记录日志:
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
3/26 |
2 |
20 |
编码 |
编译 |
20min |
|
描述:在判断时累计答对多少时出现错误(原因:累计的竖放错位置) 当执行cointine时会出现列出的算数数量变少(重新定义代数来代表当前执行的数) |