设计一个有理数类,应该包含加,减,乘,除运算。

有理数类:

public class Rational {
    public int i;
    public int j;
    public Rational(){
    i=1;
    j=1;
    };
    public Rational(int I,int J)
    {
        i=I;
        j=J;
        
    }
    public void setRational(int I,int J)
    {
                i=I;
                j=J;
                        
    }
    public double getI(){return i;}
    public double getJ(){return j;}
    public Rational sum(Rational b){
    Rational su=new Rational();
    su.setRational((int)(i*b.getJ()+j*b.getI()),(int)(b.getJ()*j));
    return su;
    }
    public Rational subtraction(Rational b){
    Rational sub=new Rational();
    sub.setRational((int)(i*b.getJ()-j*b.getI()),(int)(j*b.getJ()));
    return sub;
    
    }
    public Rational multiplication(Rational b){
    Rational mul=new Rational();
    mul.setRational((int)(i*b.getI()),(int)(j*b.getJ()));
    return mul;
    }
    public Rational division(Rational b){
        Rational div=new Rational();
        div.setRational((int)(i*b.getJ()),(int)(j*getI()));
        return div;
    }
    public String toString()
    {
       return i+"/"+j;
    }
}

有理数类的测试:

import java.util.Scanner;
public class RationalTest {
    public static void main(String[]args)
    {
        Scanner in=new Scanner(System.in);
        System.out.println("please enter two  number");
        Rational a=new Rational(in.nextInt(),in.nextInt());
        System.out.println("please enter two number");
        Rational b=new Rational(in.nextInt(),in.nextInt());
        System.out.println("Rational a:"+a);
        System.out.println("Rational b:"+b);
      
        System.out.println("a+b:"+ a.sum(b).toString());
        
        System.out.println("a-b:"+a.subtraction(b).toString());
        
        System.out.println("a*b:"+a.multiplication(b).toString());
        
        System.out.println("a/b:"+a.division(b).toString());
        
    }
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值