public class Rational {
private int numerator;//分子
private int denominator;//分母
public Rational (int numerator,int denominator)//构造函数
{
this.numerator = numerator;
this.denominator = denominator;
}
public int getNumerator()//获取分子
{
return this.numerator;
}
public int getDenominator()//获取分母
{
return this.denominator;
}
public Rational add(Rational first, Rational second)//加法
{
int n = first.numerator * second.denominator + second.numerator * first.denominator;
int d = first.denominator * second.denominator;
return new Rational(n,d);
}
public Rational subtract(Rational first,Rational second)//减法
{
int n = first.numerator * second.denominator - second.numerator * first.denominator;
int d = first.denominator * second.denominator;
return new Rational(n,d);
}
public Rational multiply(Rational first,Rational second)//乘法
{
int n = first.numerator * second.numerator;
int d = first.denominator * second.denominator;
return new Rational(n,d);
}
public Rational divide(Rational first,Rational second)//除法
{
int n = first.numerator * second.denominator;
int d = first.denominator * second.numerator;
return new Rational(n,d);
}
public boolean equal(Rational first,Rational second) //判断是否相等
{
if ((first.numerator == second.numerator)&(first.denominator == second.denominator)) {
return true;
} else {
return false;
}
}
public int intValue()//返回整数
{
return this.numerator / this.denominator;
}
public String toString()//返回字符串
{
return this.numerator + "/" + this.denominator;
}
}
import java.util.Scanner;
public class App {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
while(sc.hasNext())
{
int a=sc.nextInt(),b=sc.nextInt(),c=sc.nextInt(),d=sc.nextInt();
Rational R1= new Rational(a,b),R2=new Rational(c,d);
Rational R;
R= R1.add(R1, R2);
System.out.println("加法有理数值是:"+R);
R=R1.subtract(R1, R2);
System.out.println("减法有理数值是:"+R);
R=R1.multiply(R1, R2);
System.out.println("乘法有理数值是:"+R);
R=R1.divide(R1, R2);
System.out.println("除法有理数值是:"+R);
}
}
}
c语言和Java有一部分功能是相似的,但是Java更加面向对象,因为Java直接在类里把类的属性什么的都写清楚了,在同一个包里的另一个class里直接用就可以了。c语言和Java使用函数的方式也很不一样,比如说已经写好了add(int a,int b)函数,c语言使用这个函数就add(a,b)就可以了,而Java则是a.add(a,b)。
使用我代码中的有理数类的属性就可以复用。
依赖,有理数类的属性被修改会影响调用我的有理数类代码。
public是公有的 private是私有的这些关键字用于声明类和成员的可见性。public成员可以被任何类访问,protected成员限于自己和子类访问,private成员限于自己访问。public是公有的public可以在模块中声明类和成员private是私有的private成员限于自己访问,在窗体中声明时只针对本窗体有效
原文:https://www.cnblogs.com/huangdong521/p/13765946.html