代码拉取完成,页面将自动刷新
package suwl;
import java.util.Arrays;
import java.math.MathContext;
import java.util.Scanner;
class Rational{
private int v1 ;//苏志颖
private int v2 ;//学号:201621123081(实在想不到在哪里还能添加这些东西,就只好用注释来加了)
public int getV1(){
return this.v1 ;
}
public int getV2(){
return this.v2 ;
}
Rational(){}//这是一个无参构造
Rational(int v1, int v2){
this.v1 = v1 ;
this.v2 = v2 ;
}
public Rational Add(Rational r1,Rational r2)//有理数相加
{
Rational rational = new Rational() ;
int t ;
rational.v2 = r1.v2 * r2.v2 ;
rational.v1 = r1.v1 * r2.v2 + r2.v1 * r1.v2 ;
t = Gcd(rational.v2,rational.v1) ;
rational.v2 /= t ;
rational.v1 /= t ;
return rational ;
}
public Rational Multiply(Rational r1, Rational r2)//有理数相乘
{
int t ;
Rational rational = new Rational() ;
rational.v2 = r1.v2 * r2.v2 ;
rational.v1 = r1.v1 * r2.v2 ;
t = Gcd(rational.v2 , rational.v1) ;
rational.v2 /= t ;
rational.v1 /= t ;
return rational ;
}
public int getInfo(int i)
{
if(i == 1)
return this.v1 ;
else
return this.v2 ;
}
public int Gcd(int m , int n)//求两数最大公约数
{
int t;
while(m % n != 0)
{
t = n;
n = m % n;
m = t;
}
return n;
}
}
public class Practice {
public static void main(String[] args) {
int i ;
//Rational r3 = new Rational() ;
Scanner sc = new Scanner(System.in) ;
Rational r1 = new Rational(sc.nextInt(),sc.nextInt()) ;
Rational r2 = new Rational(sc.nextInt(),sc.nextInt()) ;
//r3 = new Rational().Add(r1,r2);
System.out.println(new Rational().Add(r1,r2).getV1() + " " + new Rational().Add(r1,r2).getV2());
System.out.println(new Rational().Multiply(r1, r2).getV1()+" "+ new Rational().Multiply(r1, r2).getV2());
System.out.print("接下来要输入一个整数i来选择输出有理数r1的分子或者分母,数字i为(0,1)= ");
System.out.println(r1.getInfo(sc.nextInt()));
sc.close();;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。