设计思路:
1.定义数组 char a[]={‘+’,’-’,’*’,’/’};
定义不同的代数来分别代替相应的变量(如可定制(数量(n)/打印方式),数值范围)其中数值范围用(int)(Math.random()*(最大值-最小值)+最小值)定义;
2.利用for循环进行n个算法的输出;
用if语句进行相应条件的判断 :在是否有乘除法时当有乘除时在进行是否有余数的 否则不用判断是否有余数 ;
其中定义j=(int)(Math.random()*4);来随机对应相应的运算符a[j];
判断当为除法运算时分母是否为零,为零则停止本次运算;
代码:
package suanfa; import java.util.Scanner; public class suanfa { public static void main(String[] args) { // TODO Auto-generated method stub int i,j; //--------------------------------------可定制(数量/打印方式)-------------------------------------------------------------- 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++) { 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]=='/') 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 continue; } else { if(b[i]%c[i]==0) { d[i]=b[i]/c[i]; System.out.print("无余数: " ); } else continue; } } // ------------------------------------------- 题目避免重复()---------------------------------------------------------------------- if(i==0) { if(b[0]==b[n-1]&&c[0]==c[n-1]&&d[0]==d[n-1])continue;} else { if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1])continue;} System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;"+" 运行结果为:"+d[i] ); } } 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]=='/') 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])continue;} else { if(b[i]==b[i-1]&&c[i]==c[i-1]&&d[i]==d[i-1])continue;} System.out.println(" ("+b[i]+") "+a[j]+" ("+c[i]+") =___;"+" 运行结果为:"+d[i] ); } } } }
截图:
周活动总结表:
|
听课 |
编写代码 |
阅读课本 |
准备考试 |
|
|
日总计 |
周日 |
|
|
30 |
|
|
|
30 |
周一 |
100 |
55 |
|
|
|
|
130 |
周二 |
|
45 |
|
|
|
|
45 |
周三 |
|
30 |
|
|
|
|
30 |
周四 |
|
|
|
|
|
|
|
周五 |
|
60 |
22 |
|
|
|
80 |
周六 |
|
120 |
|
|
|
|
120 |
周总计 |
100 |
310 |
82 |
|
|
|
492 |
时间记录日志:
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
C |
U |
3/14 |
8:00 |
9:50 |
10 |
100 |
听课 |
理论学时,课件 |
|
|
|
15:00 |
16:30 |
35 |
55 |
编程序 |
作业,玩手机 |
|
|
3/15 |
15:10 |
16:20 |
45 |
45 |
编程序,讨论 |
睡觉,查相应的知识点 |
|
|
3/16 |
17:20 |
17:50 |
|
30 |
看书 |
《构建之法》 |
|
|
|
21:30 |
21:55 |
|
25 |
看书 |
《构建之法》 |
|
|
3/18 |
21:00 |
23:30 |
15+20 |
125 |
编程序,看书 |
|
|
|
3/19 |
8:30 |
11:00 |
45 |
115 |
编程序 |
|
|
|
|
15:30 |
17:45 |
|
120 |
编程序,写报告 |
|
|
|
缺陷记录日志:
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
3/19 |
2 |
20 |
编码 |
编译 |
40min |
|
描述:if语句太多,关系太乱了 |