📄 program.java
字号:
package dada;public class program{ public static void main(String [] args){ Rational r = new Rational(2.5); System.out.println("r1= " + r.toString()); Rational r2 = new Rational(42,10); System.out.println("r2= " + r2.toString()); System.out.println("r2= " + r2.doubleValue()); System.out.println("r2 invertiert= " + r2.invert().toString()); System.out.println("r2 negiert= " + r2.negate().toString()); System.out.println("r2 + r= " + r2.add(r).toString()); System.out.println("r2 * r= " + r2.multiply(r).toString()); System.out.println("r2 / r= " +r2.divide(r).toString()); System.out.println("r2 - r= " +r2.subtract(r).toString()); }}class Rational{ private long zaehler; private long nenner; public Rational(){ this.zaehler =0; this.nenner = 1; } public Rational(long z, long n){ norm(z,n); //this.zaehler = z; //this.nenner = n; } public Rational(long a){ this(a,1); } public Rational(double a){ this((long)(a*100000000),100000000); //this.nenner = 100000000; } public String toString(){ return "(" + this.zaehler + ")/(" + this.nenner + ")"; } public double doubleValue(){ return ((double)this.zaehler/(double)this.nenner); } public Rational negate(){ return new Rational(-this.zaehler,this.nenner); } public Rational invert(){ return new Rational(this.nenner,this.zaehler); } public double getNumerator(){ return this.zaehler; } public double getDenominator(){ return this.nenner; } private long gcd(long a, long b){ if(b==0){ return a; }else{ return gcd(b, a%b); } } private void norm(long z, long n){ long dada = gcd(z, n); //this(z/dada, n/dada); this.zaehler= z/dada; this.nenner = n/dada; } public Rational multiply (Rational z){ return new Rational((long)(this.zaehler * z.getNumerator()),(long)(this.nenner * z.getDenominator())); } public Rational add (Rational z){ return new Rational((long)(this.zaehler*z.getDenominator() + z.getNumerator()*this.nenner),(long)(this.nenner * z.getDenominator())); } public Rational subtract (Rational z){ return add(z.negate()); } public Rational divide (Rational z){ return multiply(z.invert()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -