1 Star 0 Fork 0

-soul / java201621044079

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
有理数.java.txt 2.41 KB
一键复制 编辑 原始数据 按行查看 历史
-soul 提交于 2017-09-30 22:56 . Upload 有理数.java.txt
package WEEK3;
//学号:201621044079
//姓名:韩烨
import java.util.Scanner;
class Rational{
private int v1; //有理数的定义
private int v2;
public Rational(){
}
public Rational(int v1,int v2){
this.v1 = v1;
this.v2 = v2;
} //初始化有理数分子和分母
public int Gcd(int m,int n){ //求两个数的最大公约数
int t;
while(m%n!=0)
{
t=n;
n=m%n;
m=t;
}
return n;
}
public String Minus(Rational a1,Rational a2){ //有理数相减
int t;
Rational a3 = new Rational();
a3.v2 = a1.v2*a2.v2;
a3.v1 = a1.v1*a2.v2-a2.v1*a1.v2;
t=a3.Gcd(a3.v1, a3.v2);
a3.v2/=t;
a3.v1/=t;
return a3.v1+"/"+a3.v2;
}
public String Add(Rational a1,Rational a2){ //有理数相加
int t;
Rational a3 = new Rational();
a3.v2 = a1.v2*a2.v2;
a3.v1 = a1.v1*a2.v2+a2.v1*a1.v2;
t=a3.Gcd(a3.v1, a3.v2);
a3.v2/=t;
a3.v1/=t;
return a3.v1+"/"+a3.v2;
}
public String Multiply(Rational a1,Rational a2){ //有理数相乘
Rational a3 = new Rational();
a3.v2 = a1.v2*a2.v2;
a3.v1 = a1.v1*a2.v1;
int t = a3.Gcd(a3.v1, a3.v2);
a3.v2/=t;
a3.v1/=t;
return a3.v1+"/"+a3.v2;
}
public String Divide(Rational a1,Rational a2){ //有理数相除
Rational a3 = new Rational();
a3.v2 = a1.v2*a2.v1;
a3.v1 = a1.v1*a2.v2;
int t = a3.Gcd(a3.v1, a3.v2);
a3.v2/=t;
a3.v1/=t;
return a3.v1+"/"+a3.v2;
}
public int getV1() {
return v1;
}
public void setV1(int v1) {
this.v1 = v1;
}
public int getV2() {
return v2;
}
public void setV2(int v2) {
this.v2 = v2;
}
}
public class main1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in
);
Rational r = new Rational();
Rational r1 = new Rational(sc.nextInt(),sc.nextInt());
Rational r2 = new Rational(sc.nextInt(),sc.nextInt());
String a = sc.next();
while((a.equals("add")||a.equals("minus")||a.equals("multiply")||a.equals("divide"))){
switch (a) {
case "add":
System.out.println(r.Add(r1, r2));
a = sc.next();
break;
case "minus":
System.out.println(r.Minus(r1, r2));
a = sc.next();
break;
case "multiply":
System.out.println(r.Multiply(r1, r2));
a = sc.next();
break;
case "divide":
System.out.println(r.Divide(r1, r2));
a = sc.next();
break;
}
}
System.out.println("exit");
}
}
Java
1
https://gitee.com/HYSOUL/java201621044079.git
git@gitee.com:HYSOUL/java201621044079.git
HYSOUL
java201621044079
java201621044079
master

搜索帮助