四则运算一
1 import java.lang.*; 2 import java.util.*; 3 public class Shi2 { 4 5 public static Boolean chachong1(Zhengshu x,Zhengshu y){ 6 if(x.a==y.a&&x.b==y.b&&x.c==y.c){ 7 return true; 8 } 9 else if(x.b==y.b&&(x.b==1||x.b==3)){ 10 if(x.a==y.c&&x.c==y.a) return true; 11 else return false; 12 } 13 else{return false;} 14 } 15 public static Boolean chachong2(Fenshu x,Fenshu y){ 16 Fenshu xx=new Fenshu(); 17 Fenshu yy=new Fenshu(); 18 yy=yue(y); 19 xx=yue(x); 20 if(x.b==y.b){ 21 if(x.b==1||x.b==3){ 22 if(x.a==y.a&&x.c==y.c&&x.d==y.d&&x.e==y.e)return true; 23 else if(x.a==y.d&&x.c==y.e&&x.d==y.a&&x.e==y.c)return true; 24 else return false; 25 } 26 else { 27 if(x.a==y.a&&x.c==y.c&&x.d==y.d&&x.e==y.e)return true; 28 else return false; 29 } 30 } 31 else {return false;} 32 } 33 public static int zuidayin(int a,int b){ 34 int c,d=1; 35 if(a<b){c=a;} 36 else{c=b;} 37 for(int i=2;i<=c;i++){ 38 if(a%i==0&&b%i==0){ 39 d=i; 40 } 41 } 42 return d; 43 } 44 public static void yuefen(int a,int b,int c,int d){ 45 int aa=zuidayin(a,b); 46 c=a/aa; 47 d=b/aa; 48 } 49 public static Fenshu yue(Fenshu x){ 50 Fenshu y=new Fenshu(); 51 int a=x.a; 52 int b=x.b; 53 int c=x.c; 54 int d=x.d; 55 int e=x.e; 56 int a1=0,c1=0,d1=0,e1=0; 57 yuefen(a,d,a1,d1); 58 yuefen(c,e,c1,e1); 59 y.fu(a1,b,c1,d1,e1); 60 return y; 61 } 62 public static void main(String[] args) { 63 int shu=0,q=0; 64 Scanner input=new Scanner(System.in); 65 System.out.println("输入1、整数2、分数"); 66 q=Integer.parseInt(input.next()); 67 System.out.println("输入数量:"); 68 shu=Integer.parseInt(input.next()); 69 if(q==1){ 70 Zhengshu cf[]=new Zhengshu [shu]; 71 for(int i=0;i<shu;i++){ 72 cf[i]=new Zhengshu(); 73 boolean aa=true; 74 while(aa){ 75 cf[i].zheng(); 76 aa=false; 77 for(int j=0;j<i;j++){ 78 if(chachong1(cf[i],cf[j])){ 79 aa=true; 80 break; 81 } 82 } 83 } 84 } 85 for(int i=0;i<shu;i++){ 86 cf[i].show(); 87 } 88 } 89 else if(q==2){ 90 Fenshu cf[]=new Fenshu [shu]; 91 for(int i=0;i<shu;i++){ 92 cf[i]=new Fenshu(); 93 boolean aa=true; 94 while(aa){ 95 cf[i].fen(); 96 aa=false; 97 for(int j=0;j<i;j++){ 98 if(chachong2(cf[i],cf[j])){ 99 aa=true; 100 break; 101 } 102 } 103 } 104 } 105 for(int i=0;i<shu;i++){ 106 cf[i].show(); 107 } 108 } 109 else System.out.println("输入有误"); 110 111 } 112 } 113 } 114 115 class Zhengshu{ 116 int a; 117 int b; 118 int c; 119 public void zheng(){ 120 a=(int)(Math.random()*100); 121 b=(int)(Math.random()*4+1); 122 c=(int)(Math.random()*100); 123 if(b==4&&c==0){ 124 zheng(); 125 } 126 } 127 public void show(){ 128 String q; 129 if(b==1)q="+"; 130 else if(b==2)q="-"; 131 else if(b==3)q="*"; 132 else q="/"; 133 System.out.println(a+q+c+"="); 134 } 135 } 136 137 class Fenshu{ 138 int a,b,c,d,e; 139 public void fu(int a1,int a2,int a3,int a4,int a5){ 140 a=a1; 141 b=a2; 142 c=a3; 143 d=a4; 144 d=a5; 145 } 146 public void fen(){ 147 a=(int)(Math.random()*100); 148 b=(int)(Math.random()*4+1); 149 c=(int)(Math.random()*100); 150 d=(int)(Math.random()*100); 151 e=(int)(Math.random()*100); 152 if(b==4&&c==0||d==0||e==0){ 153 fen(); 154 } 155 } 156 157 public void show(){ 158 String q; 159 if(b==1)q="+"; 160 else if(b==2)q="-"; 161 else if(b==3)q="*"; 162 else q="/"; 163 System.out.println("("+a+"/"+d+")"+q+"("+c+"/"+e+")="); 164 } 165 } 166
验证截图: