四则运算*2
设计思想:在上一个四则运算的基础上添加了是否有余数,和取值范围,利用if语句进行判断,输出时依然是输出一个算式进行一次答案判断,括号代码未完成,但是编了一半,很难受,真的是用尽了我的想法了
代码
1 import java.util.Scanner; 2 3 import javax.swing.plaf.synth.SynthSpinnerUI; 4 5 import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; 6 7 public class Lianxi { 8 static int aaa; 9 static int bbb; 10 int ccc; 11 int ddd; 12 static void suan(int fanwei,int fanwei1,int zhichi){//整数 13 int i,j,k,l,z = 0; 14 15 int sum = 0; 16 int sum1 = 0; 17 Scanner in=new Scanner(System.in); 18 i=(int)(Math.random()*fanwei1); 19 j=(int)(Math.random()*fanwei1); 20 if(i<fanwei){suan(fanwei,fanwei1,zhichi);} 21 if(j<fanwei){suan(fanwei,fanwei1,zhichi);} 22 if(zhichi==2)k=(int)(Math.random()*2); 23 else k=(int)(Math.random()*4); 24 if(k==0){sum=i+j; 25 System.out.print(i+"+"+j+"=");}//加法 26 27 if(k==1){ 28 int a; 29 if(i<=j){a=i;i=j;j=a;} 30 sum=i-j; 31 System.out.print(i+"-"+j+"=");}//减法 32 33 if(k==2){sum=i*j; 34 System.out.print(i+"*"+j+"=");}//乘法 35 36 if(k==3){if(j!=0){sum1=i%j;//余数 37 sum=i/j; 38 System.out.print(i+"/"+j+"=");}//除法 39 40 else suan(fanwei,fanwei1,zhichi);} 41 42 l=in.nextInt();//商 43 if(k==3&&sum1!=0){System.out.print("余数:"); 44 z=in.nextInt();//余数 45 if(z!=sum1){sum=19999;} 46 } 47 if(l==sum){System.out.println("答案正确");} 48 else System.out.println("答案错误"); 49 50 } 51 52 static void fensuan(int fanwei,int fanwei1,int zhichi){//分数 53 int i,j,k,m,n; 54 String sum = null,l; 55 i=(int)(Math.random()*fanwei1); 56 j=(int)(Math.random()*fanwei1); 57 n=(int)(Math.random()*fanwei1); 58 m=(int)(Math.random()*fanwei1); 59 k=(int)(Math.random()*4); 60 if(i<fanwei){suan(fanwei,fanwei1,zhichi);} 61 if(j<fanwei){suan(fanwei,fanwei1,zhichi);} 62 if(n<fanwei){suan(fanwei,fanwei1,zhichi);} 63 if(m<fanwei){suan(fanwei,fanwei1,zhichi);} 64 if(m==0||n==0){fensuan(fanwei,fanwei1,zhichi);} 65 else{ 66 if(k==0){sum=i*m+j*n+"/"+n*m;//加法 67 System.out.print(i+"/"+n + " + " +j+"/"+m+"=");} 68 69 70 if(k==1){//减法 71 if(i*m<j*n){fensuan(fanwei,fanwei1,zhichi);} 72 else{ 73 sum=i*m+j*n+"/"+n*m; 74 System.out.print(i+"/"+n + " - " +j+"/"+m+"=");}} 75 76 77 if(k==2){//乘法 78 sum=i*j+"/"+n*m; 79 System.out.print(i+"/"+n + " * " +j+"/"+m+"=");} 80 81 82 83 if(k==3){//除法 84 if(i!=0){sum=i*m+"/"+n*j; 85 System.out.print(i+"/"+n + " / " +j+"/"+m+"=");} 86 else suan(fanwei,fanwei1,zhichi);} 87 Scanner in=new Scanner(System.in); 88 l=in.next(); 89 if(l.equals(sum)){System.out.println("答案正确");} 90 else System.out.println("答案错误"); 91 92 } 93 } 94 95 96 static void kuohao(int fanwei,int fanwei1,int zhichi){//括号 97 int i;int j,k,l; 98 99 i=(int)(Math.random()*fanwei1); 100 j=(int)(Math.random()*fanwei1); 101 if(i<fanwei){kuohao(fanwei,fanwei1,zhichi);} 102 if(j<fanwei){kuohao(fanwei,fanwei1,zhichi);} 103 l=(int)(Math.random()*2); 104 if(aaa!=1){//代表有一个左括号 105 if(l==1){System.out.print("("+i);aaa=1;bbb=i+bbb;}} 106 kuohao(fanwei,fanwei1,zhichi); 107 if(zhichi==2)k=(int)(Math.random()*2); 108 else k=(int)(Math.random()*4); 109 if(k==0){bbb=bbb+j; 110 System.out.print("+"+j);}//加法 111 112 if(k==1){ 113 int a; 114 if(i<=j){a=i;i=j;j=a;} 115 bbb=bbb-j; 116 System.out.print("-"+j);}//减法 117 if(l!=1){ 118 System.out.print(")");aaa=2;} 119 120 if(aaa==2) 121 System.out.println("="); 122 } 123 124 125 126 public static void main(String[] args) { 127 128 // TODO Auto-generated method stub 129 int i,j=0,k=0,l,fanwei,fanwei1,zhichi; 130 System.out.println("是否支持分数计算?"); 131 System.out.println("1 支持"); 132 System.out.println("2 不支持"); 133 Scanner in=new Scanner(System.in); 134 135 k=in.nextInt(); 136 System.out.println("是否支持乘除法"); 137 System.out.println("1 支持"); 138 System.out.println("2 不支持"); 139 zhichi=in.nextInt(); 140 System.out.println("请确定取值范围的起点"); 141 fanwei=in.nextInt(); 142 System.out.println("请确定取值范围的终点"); 143 fanwei1=in.nextInt(); 144 System.out.println("请输入 题目个数"); 145 j=in.nextInt(); 146 if(k==2){ 147 for(i=0;i<j;i++){ 148 suan(fanwei,fanwei1,zhichi) ; 149 }} 150 if(k==1){ 151 for(i=0;i<j;i++){ 152 l=(int)(Math.random()*2); 153 if(l==0){suan(fanwei,fanwei1,zhichi);} 154 else{fensuan(fanwei,fanwei1,zhichi);} 155 } 156 } 157 if(k==3){for(i=0;i<j;i++){ 158 l=(int)(Math.random()*2); 159 if(l==0){kuohao(fanwei,fanwei1,zhichi);} 160 else{kuohao(fanwei,fanwei1,zhichi);} 161 } 162 } 163 } 164 }
结果截图:



缺陷记录日志
程序: 四则运算
|
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
|
3.10 |
|
|
|
|
|
|
|
|
||||||
备注:实在不好意思,本周把这个错误日志给我忘记了,所以交了一个空白的。

浙公网安备 33010602011771号