public class Test { public static void main(String[] args) { String a = "11/8"; String b ="3/4"; System.out.println(getSum(a, b)); } public static String getSum(String s1,String s2){ String[] arr1 = new String[2]; arr1 = s1.split("/"); int a = Integer.parseInt(arr1[0]); int b = Integer.parseInt(arr1[1]); String[] arr2 = new String[2]; arr2 = s2.split("/"); int c = Integer.parseInt(arr2[0]); int d = Integer.parseInt(arr2[1]); int fm = lcm(b, d); int fz = (a*lcm(b, d)/b)+(c*lcm(b, d)/d); int n = gcd(fz,fm); String s = fz/n +"/"+fm/n; return s; } //最小公倍数 public static int lcm(int a,int b){ if(a<b){ int temp = a; a = b; b = temp; } int i = 1; for(;i<=b;i++){ if(a*i%b==0){ return a*i; } } return a*i; } //最大公约数 public static int gcd(int a,int b){ if(a<b){ int temp = a; a = b; b = temp; } return (a%b==0?b:gcd(a%b,b)); } } 17/8