四则运算*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

 

 

 

 

 

 

 

 

 

 

 

 

 

备注:实在不好意思,本周把这个错误日志给我忘记了,所以交了一个空白的。

posted @ 2017-03-10 19:09  -QV-  阅读(118)  评论(0)    收藏  举报