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