两个分数求和
package lesson;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int num1=sc.nextInt();
int num2=sc.nextInt();
int num3=sc.nextInt();
int num4=sc.nextInt();
//调用函数
FenShu f= add(num1, num2, num3, num4);
System.out.println(f.fenzi+"/"+f.fenmu);
}
//分数相加的函数
public static FenShu add(int fenmu1,int fenzi1,int fenmu2,int fenzi2) {
FenShu f = new FenShu();
f.fenmu=fenmu1*fenmu2;
f.fenzi=fenmu1*fenzi2+fenmu2*fenzi1;
//分子 分母可能有公约数
int k=yueshu(f);
//如果约数不为0
if(k!=0) {
f.fenmu/=k;
f.fenzi/=k;
}
return f;
}
//求最大公约数
public static int yueshu (FenShu f) {
int m=f.fenmu;
int n=f.fenzi;
int k=m%n;
while(k!=0) {
m=n;
n=k;
k=m%n;
}
return n;
}
}
//定义一个类表示分数
class FenShu {
//分母
int fenmu;
//分子
int fenzi;
public FenShu() {
super();
// TODO Auto-generated constructor stub
}
public FenShu(int fenmu, int fenzi) {
super();
this.fenmu = fenmu;
this.fenzi = fenzi;
}
}