码迷,mamicode.com
首页 > 其他好文 > 详细

四则运算

时间:2015-04-01 21:45:25      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

  1 package de;
  2 import java.text.NumberFormat;
  3 import java.util.*;
  4 public class de {
  5 
  6     public static void main(String[] args) {
  7         int []a=new int[100];
  8         int []b=new int[100];
  9         double []c=new double[100];
 10         double []d=new double[100];
 11         int fw1;
 12         int fw2;
 13         Scanner in=new Scanner(System.in);
 14         System.out.print("请输入题目的数量(小于100):");
 15         int n=in.nextInt();
 16         System.out.print("是否加减有负数(Y OR N):");
 17         String fs=in.next();
 18         System.out.print("是否有乘除法(Y OR N):");
 19         String cc=in.next();
 20         System.out.print("是否有小数(Y OR N):");
 21         String xs=in.next();
 22         if(xs.equals("N"))
 23         {
 24             System.out.print("请输入整数数值的范围,不支持小数(0~100)左边:");
 25             fw1=in.nextInt();
 26             System.out.print("请输入整数数值的范围,不支持小数(0~100)右边:");
 27             fw2=in.nextInt();
 28             for(int i=0;i<n;i++)
 29             {
 30                 do
 31                 {
 32                     a[i]=(int)(Math.random()*100);
 33                 }while(!(a[i]<=fw2&&a[i]>=fw1));
 34                 do
 35                 {
 36                     b[i]=(int)(Math.random()*100);
 37                 }while(!(b[i]<=fw2&&b[i]>=fw1));
 38             }
 39             for(int i=0;i<n;i++)
 40             {
 41                 c[i]=Math.random()*100;
 42                 d[i]=Math.random()*100;
 43             }
 44         }
 45         else
 46         {
 47             for(int i=0;i<n;i++)
 48             {
 49                 c[i]=Math.random()*100;
 50                 d[i]=Math.random()*100;
 51             }
 52             for(int i=0;i<n;i++)
 53             {
 54                 a[i]=(int)(Math.random()*100);
 55                 b[i]=(int)(Math.random()*100);
 56             }
 57         }
 58         if(cc.equals("N")) //加减模块(没有乘除和小数)
 59         {
 60             for(int i=0;i<n;i++)
 61             {
 62                     int j=(int)(Math.random()*100);
 63                     if(j%2==0)            //偶数打印加法
 64                     {
 65                         int m=(int)(Math.random()*100);
 66                         if(m%2==0&&xs.equals("Y"))
 67                         {
 68                             NumberFormat nFormat=NumberFormat.getNumberInstance();
 69                             nFormat.setMaximumFractionDigits(2);
 70                             System.out.println(nFormat.format(c[i])+"+"+nFormat.format(d[i])+"=");
 71                         }
 72                         else
 73                         {
 74                             System.out.println(a[i]+"+"+b[i]+"=");
 75                         }
 76                     }                    
 77                     else                  //否则打印减法
 78                     {
 79                         if(fs.equals("N"))   //减法没有负数
 80                         {
 81                             int h=(int)(Math.random()*100);
 82                             if(h%2==0&&xs.equals("Y"))
 83                             {
 84                                 if(c[i]>d[i])
 85                                 {
 86                                     NumberFormat nFormat=NumberFormat.getNumberInstance();
 87                                     nFormat.setMaximumFractionDigits(2);
 88                                     System.out.println(nFormat.format(c[i])+"-"+nFormat.format(d[i])+"=");
 89                                 }    
 90                                 else
 91                                 {
 92                                     NumberFormat nFormat=NumberFormat.getNumberInstance();
 93                                     nFormat.setMaximumFractionDigits(2);
 94                                     System.out.println(nFormat.format(d[i])+"-"+nFormat.format(c[i])+"=");
 95                                 }
 96                             }
 97                             else
 98                             {
 99                                 if(a[i]>b[i])
100                                 {
101                                     System.out.println(a[i]+"-"+b[i]+"=");
102                                 }    
103                                 else
104                                 {
105                                     System.out.println(b[i]+"-"+a[i]+"=");
106                                 }
107                             }
108                         }
109                         else
110                         {
111                             int l=(int)(Math.random()*100);
112                             if(l%2==0&&xs.equals("Y"))
113                             {
114                                 NumberFormat nFormat=NumberFormat.getNumberInstance();
115                                 nFormat.setMaximumFractionDigits(2);
116                                 System.out.println(nFormat.format(c[i])+"-"+nFormat.format(d[i])+"=");
117                             }
118                             else
119                             {
120                                 System.out.println(a[i]+"-"+b[i]+"=");
121                             }
122                         }
123                     }
124             }
125         }
126         else if(cc.equals("Y"))   //包括乘除模块
127         {
128             for(int i=0;i<n;i++)
129             {
130                 int m=(int)(Math.random()*100);
131                 if(m%2==0)                         //偶数则打印加减
132                 {    
133                     int j=(int)(Math.random()*100);
134                     if(j%2==0)            //偶数打印加法
135                     {
136                         System.out.println(a[i]+"+"+b[i]+"=");
137                     }                    
138                     else                  //否则打印减法
139                     {
140                         if(fs.equals("N"))   //减法没有负数
141                         {
142                             if(a[i]>b[i])
143                             {
144                                 System.out.println(a[i]+"-"+b[i]+"=");
145                             }    
146                             else
147                             {
148                                 System.out.println(b[i]+"-"+a[i]+"=");
149                             }
150                         }
151                         else
152                         {
153                             System.out.println(a[i]+"-"+b[i]+"=");
154                         }
155                     }    
156                 }
157                 else
158                 {
159                     int l=(int)(Math.random());
160                     if(l%2==0)
161                     {
162                         System.out.println(a[i]+"x"+b[i]+"=");
163                     }
164                     else
165                     {
166                         System.out.println(a[i]+"÷"+b[i]+"=");
167                     }
168                 }
169             }
170         }
171     }
172 }

测试结果:
技术分享
技术分享
技术分享

个人心得:写这个感觉自己晕晕哒的~~~,因为我在里面实在是用了很多if,else,eles-if,导致很多时候把自己弄得头都大了。看了别人的代码,发现自己写的真的太烂了,代码冗余,算法复杂....,以后还得多加努力!!!因为一些原因导致没有按时上交,非常抱歉迟交了!!!在这里保证以后会按时完成!!!!!!

四则运算

标签:

原文地址:http://www.cnblogs.com/kong21/p/4385337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!