分数加减法
2017-03-28 20:01
246 查看
import java.util.Scanner; class Size { int a1, a0, a4, a3; char a2; public Size() { } public void Ch(char a2,int a0,int a1,int a3,int a4) { if (a2 == '+') { add(a0,a1, a3, a4); //System.out.println("+++"); } if (a2 == '-') { subtract(a0,a1, a3, a4); //System.out.println("--"); } /*if (a2 == '*') { multipiy(a0,a1, a3, a4); System.out.println("**"); } if (a2 == '/') { divide(a0,a1, a3, a4); System.out.println("//"); }*/ } public int tongfen(int a, int b) { int max=a; int to=0; if(a<b) { max=b; } for(int i=max;i<=a*b;i++) { if(i%a==0&&i%b==0){ to=i; break; } } return to; } public int yuefen(int a,int b){ int min=a; int to=1; if(a>b) { min=b; } for(int i=min;i>=2;i--) { if(a%i==0&&b%i==0){ to=i; break; } } return to; } public void add(int a0,int a1,int a3,int a4) { int p=tongfen(a1,a4); int su=p/a1*a0+a3*p/a4; int yu=yuefen(su,p); //System.out.println(yu); su=su/yu; p=p/yu; if(su%p==0) { System.out.println(su/p); } else{ System.out.println(su+"/"+p); } } public void subtract(int a0,int a1,int a3,int a4) { int p=tongfen(a1,a4); int su=p/a1*a0-a3*p/a4; int yu=yuefen(su,p); su=su/yu; p=p/yu; if(su%p==0) { System.out.println(su/p); } else{ System.out.println(su+"/"+p); } } /*public void multipiy(int a0,int a1,int a3,int a4) { int p=tongfen(a1,a4); int su=a0*p*a3*p; int yu=yuefen(su,p); su=su/yu; p=p/yu; if(su%p==0) { System.out.println(su/p); } else{ System.out.println(su+"/"+p); } } public void divide(int a0,int a1,int a3,int a4) { int p=tongfen(a1,a4); int su=a0*p+a3*p; int yu=yuefen(su,p); su=su/yu; p=p/yu; if(su%p==0) { System.out.println(su/p); } else{ System.out.println(su+"/"+p); } }*/ } public class Main { private static final String[] String = null; public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); while (cin.hasNext()) { String str = cin.next(); char[] chars=str.toCharArray(); int a0 = chars[0]-'0'; int a1 = chars[2]-'0'; char a2=chars[3]; //System.out.println(a2); int a3 = chars[4]-'0'; int a4 = chars[6]-'0'; Size size =new Size(); size.Ch(a2, a0, a1, a3, a4); } cin.close(); } }