1.实验代码:
package 四则;
import java.util.Random;
import java.util.Scanner;
/*
* 四则运算 2017.3
* 1.支持真分数计算
* 2.题目不能重复
* 3.是否有乘除法
* 4.是否有括号
* 5.数值范围
* 6.加减有无负数
* 7.除法有无余数
*/
public class Yunsuan{
public static void main(String[] args){
A a =new A();
Scanner sc=new Scanner(System.in);
System.out.println("请输入题目的数目:");
int q=sc.nextInt();
a.q=q;
System.out.println("请输入数值的范围:");
int z=sc.nextInt();
int v=sc.nextInt();
a.z=z;
a.v=v;
System.out.println("是否有乘除法(1.有 2.无):");
int t=sc.nextInt();
if(t==1) //算式有除法
{
a.xunhuan1();
}
else if(t==2) //算式无除法
{
a.xunhuan2();
}
}
}
class A//循环输出
{
int i;
int sum=0,sum1=0,sum2=0,q=3;
int z=120,v=120;
Random random = new Random();
void xunhuan1()//有乘除法
{
for(i=0;i<q;i++)
{
int n = random.nextInt(v)%(v-z+1) + z;
int m = random.nextInt(v)%(v-z+1) + z;
int w = random.nextInt(v)%(v-z+1) + z;
int e = random.nextInt(v)%(v-z+1) + z;
int x = random.nextInt(4);
sum1=n/m;
sum2=w/e;
if(n<m&&w<e)//真分数
{
if(x==0)
{
System.out.print("(");
System.out.print(n);
System.out.print("/");
System.out.print(m);
System.out.print(")");
System.out.print("+");
System.out.print("(");
System.out.print(w);
System.out.print("/");
System.out.print(e);
System.out.print(")");
System.out.print("=");
System.out.println();
}
else if(x==1)
{
sum=sum1-sum2;
if(sum<0)
display3();
else
{
System.out.print("(");
System.out.print(n);
System.out.print("/");
System.out.print(m);
System.out.print(")");
System.out.print("-");
System.out.print("(");
System.out.print(w);
System.out.print("/");
System.out.print(e);
System.out.print(")");
System.out.print("=");
System.out.println();
}
}
else if(x==2)//乘法
{
System.out.print("(");
System.out.print(n);
System.out.print("/");
System.out.print(m);
System.out.print(")");
System.out.print("*");
System.out.print("(");
System.out.print(w);
System.out.print("/");
System.out.print(e);
System.out.print(")");
System.out.print("=");
System.out.println();
}
else if(x==3)//除法
{
System.out.print("(");
System.out.print(n);
System.out.print("/");
System.out.print(m);
System.out.print(")");
System.out.print("/"); //
System.out.print("(");
System.out.print(w);
System.out.print("/");
System.out.print(e);
System.out.print(")");
System.out.print("=");
System.out.println();
}
}
else
{
if(x==0)
{
System.out.print(n);
System.out.print("+");
System.out.print(m);
System.out.print("=");
System.out.println();
}
else if(x==1)
{
sum=n-m;
if(sum<0)
display4();
else
{
System.out.print(n);
System.out.print("-");
System.out.print(m);
System.out.print("=");
System.out.println();
}
}
else if(x==2)
{
System.out.print(n);
System.out.print("*");
System.out.print(m);
System.out.print("=");
System.out.println();
}
else if(x==3)
{
System.out.print(n);
System.out.print("/");
System.out.print(m);
System.out.print("=");
System.out.println();
}
}
}
}
void xunhuan2()//无乘除法
{
for(i=0;i<q;i++)
{
int n1 = random.nextInt(v)%(v-z+1) + z;
int m1 = random.nextInt(v)%(v-z+1) + z;
int w1 = random.nextInt(v)%(v-z+1) + z;
int e1 = random.nextInt(v)%(v-z+1) + z;
int x1 = random.nextInt(2);
sum1+=n1/m1;
sum2+=w1/e1;
if(n1<m1&&w1<e1)
{
if(x1==0)//加法
{
System.out.print("(");
System.out.print(n1);
System.out.print("/");
System.out.print(m1);
System.out.print(")");
System.out.print("+");
System.out.print("(");
System.out.print(w1);
System.out.print("/");
System.out.print(e1);
System.out.print(")");
System.out.print("=");
System.out.println();
}
else if(x1==1)//减法
{
sum=sum1-sum2;
if(sum<0)
display1();
else
{
System.out.print("(");
System.out.print(n1);
System.out.print("/");
System.out.print(m1);
System.out.print(")");
System.out.print("-");
System.out.print("(");
System.out.print(w1);
System.out.print("/");
System.out.print(e1);
System.out.print(")");
System.out.print("=");
System.out.println();
}
}
}
else
{
if(x1==0)
{
System.out.print(n1);
System.out.print("+");
System.out.print(m1);
System.out.print("=");
System.out.println();
}
else if(x1==1)
{
sum=n1-m1;
if(sum<0)
diaplay2();
else
{
System.out.print(n1);
System.out.print("-");
System.out.print(m1);
System.out.print("=");
System.out.println();
}
}
}
}
}
void display1()
{
int n1 = random.nextInt(v)%(v-z+1) + z;
int m1 = random.nextInt(v)%(v-z+1) + z;
int w1 = random.nextInt(v)%(v-z+1) + z;
int e1 = random.nextInt(v)%(v-z+1) + z;
int x1 = random.nextInt(2);
sum1+=n1/m1;
sum2+=w1/e1;
System.out.print("(");
System.out.print(w1);
System.out.print("/");
System.out.print(e1);
System.out.print(")");
System.out.print("-");
System.out.print("(");
System.out.print(n1);
System.out.print("/");
System.out.print(m1);
System.out.print(")");
System.out.print("=");
System.out.println();
}
void diaplay2()
{
int n1 = random.nextInt(v)%(v-z+1) + z;
int m1 = random.nextInt(v)%(v-z+1) + z;
int w1 = random.nextInt(v)%(v-z+1) + z;
int e1 = random.nextInt(v)%(v-z+1) + z;
int x1 = random.nextInt(2);
System.out.print(m1);
System.out.print("-");
System.out.print(n1);
System.out.print("=");
System.out.println();
}
void display3()
{
int n = random.nextInt(v)%(v-z+1) + z;
int m = random.nextInt(v)%(v-z+1) + z;
int w = random.nextInt(v)%(v-z+1) + z;
int e = random.nextInt(v)%(v-z+1) + z;
int x = random.nextInt(2);
sum1+=n/m;
sum2+=w/e;
System.out.print("(");
System.out.print(w);
System.out.print("/");
System.out.print(e);
System.out.print(")");
System.out.print("-");
System.out.print("(");
System.out.print(n);
System.out.print("/");
System.out.print(m);
System.out.print(")");
System.out.print("=");
System.out.println();
}
void display4()
{
int n = random.nextInt(v)%(v-z+1) + z;
int m = random.nextInt(v)%(v-z+1) + z;
int w = random.nextInt(v)%(v-z+1) + z;
int e = random.nextInt(v)%(v-z+1) + z;
int x = random.nextInt(2);
System.out.print(m);
System.out.print("-");
System.out.print(n);
System.out.print("=");
System.out.println();
}
}
2.项目计划总结:
日期 | 听课 | 编写程序 | 阅读课本 | 日总计 |
周日 | ||||
周一 | 100min | 60min | 160min | |
周二 | 120min | 120min | ||
周三 | ||||
周四 | ||||
周五 | 60min | 60min | ||
周六 | 320min | 320min | ||
周总计 | 100min | 420min | 120min | 660min |
3.
时间记录日志:
日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 | 备注 |
3/14 | 8:00 | 9:50 | 10min | 100min | 上课 | |
15:00 | 16:00 | 60min | 编程 | 完善第一次作业中不足的部分 | ||
3/15 | 14:00 | 16:00 | 120min | 设计 | 阅读数据结构相关内容,并且写设计思路 | |
3/18 | 21:00 | 22:00 | 60min | 编程 | 把第一次作业Java中基本架构写成C++ (其实本来是想C++可以应用数据结构 的内容来实现添加括号,后来发现也不会) | |
3/19 | 9:30 | 16:00 | 70min | 320min | 编程 | 添加功能 |
缺陷记录日志:
日期 | 编号 | 类型 | 引入阶段 | 排除阶段 | 修复时间 | 修复缺陷 |
3/19 | 1 | 10 | 编码 | 编译 | 10min | |
描述:一开始我用for循环来输出,查重部分如果查到重复的, 就要多循环一次,所以我改成while | ||||||
2 | 100 | 编码 | 编码 | 10min | ||
描述:查重部分的代码位置的调整,因为我添加功能的方法会 改变原来随机生成数的值 |