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


FractionCollection Java Class, Sbobinature di Programmazione Orientata agli Oggetti

Classe Java FractionCollection che incapsula la gestione di una collezzione di Fractions

Tipologia: Sbobinature

2025/2026

Caricato il 31/03/2026

Utente sconosciuto
Utente sconosciuto 🇮🇹

1 / 4

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
package fractioncollection;
import fraction.Fraction;
public class FractionCollection {
final private static int DEFAULT_GROWTH_FACTOR = 2;
final private static int DEFAULT_PHYSICAL_SIZE = 10;
private Fraction[] innerContainer;
private int size;
public FractionCollection(int physicalSize) {
if(physicalSize <= 0) {
throw new IllegalArgumentException("physicalSize must be
a positive number!");
}
else {
this.innerContainer = new Fraction[physicalSize];
this.size = 0;
}
}
public FractionCollection() {
this(DEFAULT_PHYSICAL_SIZE);
}
public FractionCollection(Fraction[] frazioni) {
this(frazioni.length);
for(int i = 0; i < frazioni.length; i++) {
this.innerContainer[i] = new
Fraction(frazioni[i].getNum(), frazioni[i].getDen());
this.size++;
}
}
public int size() {
return this.size;
}
public Fraction get(int index) {
if(index < 0) {
throw new IllegalArgumentException("Negative index
passed!");
}
pf3
pf4

Anteprima parziale del testo

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

package fractioncollection; import fraction.Fraction; public class FractionCollection { final private static int DEFAULT_GROWTH_FACTOR = 2; final private static int DEFAULT_PHYSICAL_SIZE = 10; private Fraction[] innerContainer; private int size; public FractionCollection(int physicalSize) { if(physicalSize <= 0) { throw new IllegalArgumentException("physicalSize must be a positive number!"); } else { this.innerContainer = new Fraction[physicalSize]; this.size = 0; } } public FractionCollection() { this(DEFAULT_PHYSICAL_SIZE); } public FractionCollection(Fraction[] frazioni) { this(frazioni.length); for(int i = 0; i < frazioni.length; i++) { this.innerContainer[i] = new Fraction(frazioni[i].getNum(), frazioni[i].getDen()); this.size++; } } public int size() { return this.size; } public Fraction get(int index) { if(index < 0) { throw new IllegalArgumentException("Negative index passed!");

else { return new Fraction(this.innerContainer[index].getNum(), this.innerContainer[index].getDen()); } } public void put(Fraction f) { if(this.size() < this.innerContainer.length) { this.innerContainer[this.size++] = f; } else { Fraction[] newArray = new Fraction[this.innerContainer.length * DEFAULT_GROWTH_FACTOR]; for(int i = 0; i < this.size(); i++) { newArray[i] = this.get(i); } newArray[this.size++] = f; this.innerContainer = new Fraction[this.innerContainer.length * DEFAULT_GROWTH_FACTOR]; for(int i = 0; i < this.size(); i++) { this.innerContainer[i] = newArray[i]; } } } public void remove(int index) { if(index < 0) { throw new IllegalArgumentException("Invalid index passed!"); } else { this.innerContainer[index] = null; if(index < this.size() - 1) { for(int i = index; i < this.size() - 1; i++) { this.innerContainer[i] = this.get(i + 1); }

result[i] = this.get(i).sub(collection.get(i)); } return new FractionCollection(result); } } public FractionCollection mul(FractionCollection collection) { if(this.size() != collection.size()) { return null; } else { Fraction[] result = new Fraction[this.size()]; for(int i = 0; i < this.size(); i++) { result[i] = this.get(i).mul(collection.get(i)); } return new FractionCollection(result); } } public FractionCollection div(FractionCollection collection) { if(this.size() != collection.size()) { return null; } else { Fraction[] result = new Fraction[this.size()]; for(int i = 0; i < this.size(); i++) { result[i] = this.get(i).div(collection.get(i)); } return new FractionCollection(result); } }