Ciao a tutti, vorrei chiedervi aiuto su un esercizio che non riesco a risolvere. Devo pregettare una classe che implementa Polinomi, e fin qui nulla di difficoltoso.. Essendo per definizione un tipo di dato immutabile, rappresento il polinomio come un vettore di interi.
per chiarezzaecco una parte della classe e il costruttore:
Il mio problema è questo: il coefficiente nel mio caso non deve essere un intero, ma un tipo di dato Razionale , precedentemente implementato in un'altra classe (che ha due campi privati interi, numeratore e denominatore) e il prototipo del mio costruttore deve esserecodice:private int[] termini; private int grado; public Poly (int c, int n) throws NegativeExponentException{ // POST:if n<0 solleva l'eccezione NegativeExponentException // altrimenti inizializza this al polinomio cx^n if (n<0) throw new NegativeExponentException("Poly(int,int) constructor"); if (c==0){termini=new int[1];grado=0;return;} termini=new int[n+1]; for (int i=0;i<n;i++) termini[i]=0; termini[n]=c;grado=n; }
codice:public Poly (Razionale r, int n)
Non riesco a capire come posso ad esempio fare il testo sul Razionale nullo, non accedendo ai campi privati.. e come andare successivamente a memorizzare il razionale nel vettore di interi. Non posso fare un cast in quanto int e razionale non sono nella stessa gerarchia, e non posso modificare la classe Razionale; allo stessomodo non ha senso creare un vettore di Razionali per memorizzare il polinomio....
Come fare? Grazie a chi mi risponderà!

Rispondi quotando