


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Classe Java FractionCollection che incapsula la gestione di una collezzione di Fractions
Tipologia: Sbobinature
Caricato il 31/03/2026
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



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); } }