小组成员:李国帅、陈鹏;
设计思路:
在 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时会出现列出的算数数量变少(重新定义代数来代表当前执行的数) |