Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Fraction Java Class ADT, Sbobinature di Programmazione Orientata agli Oggetti

Fraction Java Class (ADT) con diveri metodi per le funzioni

Tipologia: Sbobinature

2025/2026

Caricato il 31/03/2026

Utente sconosciuto
Utente sconosciuto 🇮🇹

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
package fraction;
import util.MyMath;
/**
* Fraction Class
* @author Filippo Rocco
* @version March 2026
*/
public class Fraction {
private int num;
private int den;
public Fraction(int num, int den) {
this.num = num * den > 0 ? Math.abs(num) : -Math.abs(num);
this.den = Math.abs(den);
}
public Fraction(int num) {
this(num, 1);
}
public int getNum() {
return this.num;
}
public int getDen() {
return this.den;
}
public boolean equals(Fraction that) {
return this.getNum() * that.getDen() == this.getDen() * that.getNum();
}
public Fraction minTerm() {
int mcd = MyMath.mcd(this.getNum(), this.getDen());
return new Fraction(this.getNum() / mcd, this.getDen() / mcd);
}
@Override
public String toString() {
return this.getDen() == 1 ? Integer.toString(this.getNum()) : this.getNum() +
"/" + this.getDen();
}
public Fraction sum(Fraction that) {
Fraction result = new Fraction(this.getNum() * that.getDen() + this.getDen() *
that.getNum(), this.getDen() * that.getDen());
return result.minTerm();
}
public Fraction sub(Fraction that) {
Fraction result = new Fraction(this.getNum() * that.getDen() - this.getDen() *
that.getNum(), this.getDen() * that.getDen());
pf2

Anteprima parziale del testo

Scarica Fraction Java Class ADT e più Sbobinature in PDF di Programmazione Orientata agli Oggetti solo su Docsity!

package fraction; import util.MyMath; /**

  • Fraction Class
  • @author Filippo Rocco
  • @version March 2026 */ public class Fraction { private int num; private int den; public Fraction(int num, int den) { this.num = num * den > 0? Math.abs(num) : - Math.abs(num); this.den = Math.abs(den); } public Fraction(int num) { this(num, 1); } public int getNum() { return this.num; } public int getDen() { return this.den; } public boolean equals(Fraction that) { return this.getNum() * that.getDen() == this.getDen() * that.getNum(); } public Fraction minTerm() { int mcd = MyMath.mcd(this.getNum(), this.getDen()); return new Fraction(this.getNum() / mcd, this.getDen() / mcd); } @Override public String toString() { return this.getDen() == 1? Integer.toString(this.getNum()) : this.getNum() + "/" + this.getDen(); } public Fraction sum(Fraction that) { Fraction result = new Fraction(this.getNum() * that.getDen() + this.getDen() * that.getNum(), this.getDen() * that.getDen()); return result.minTerm(); } public Fraction sub(Fraction that) { Fraction result = new Fraction(this.getNum() * that.getDen() - this.getDen() * that.getNum(), this.getDen() * that.getDen());

return result.minTerm(); } public Fraction reciprocal() { Fraction result = new Fraction(this.getDen(), this.getNum()); return result.minTerm(); } public Fraction mul(Fraction that) { Fraction result = new Fraction(this.getNum() * that.getNum(), this.getDen() * that.getDen()); return result.minTerm(); } public Fraction div(Fraction that) { return this.mul(that.reciprocal()); } public double getDouble() { return (double)this.getNum() / (double)this.getDen(); } public int compareTo(Fraction that) { int result; if(this.equals(that)) { result = 0; } else { result = this.getDouble() > that.getDouble()? 1 : - 1; } return result; } }