|
|
|
|
Strumenti |
28-06-2014, 13:27 | #1 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
[Java]Array di oggetti
Buon pomeriggio a tutti
Volevo chiedere un informazione relativamente a un esercizio di programmazione in Java che non riesco a completare. L'esercizio mi chiede di creare una classe Docente con i relativi attributi e metodi get, cosa che io ho fatto, successivamente mi viene chiesto di creare una classe Università che rappresenti un insieme di docenti universitari tramite un array di tipo Docente e che contiene il costruttore parametrizzato, inoltre creare un metodo etaMinima che mi restituisca l'età minima tra i docenti università. la classe Docente l'ho fatta così: Codice:
public class Docente { private int codice; private int età; public Docente(int c, int e){ codice = c; età = e; } public int getCodice(){return codice;} public int getEtà(){return età;} } Codice:
public class Università { private Docente [] docenti; public Università(Docente [] d){ docenti=d; } Ultima modifica di FortNox : 28-06-2014 alle 13:43. |
01-07-2014, 08:20 | #2 |
Bannato
Iscritto dal: Sep 2013
Messaggi: 333
|
ma hai provato il codice?
|
01-07-2014, 08:40 | #3 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Ciao, hai il testo dell'esercizio completo?
|
01-07-2014, 11:30 | #4 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
Allora, discutendo con alcuni amici o provato due modi per completare l'esercizio uno di questo tipo, che funziona ma non sono certa che sia corretto
Codice:
public class Università{ Docente [] docente; public Università(Docente[]v){ docente=v; v = new Docente [3]; } public static int etaMinima(Docente d1, Docente d2, Docente d3){ int [] v2={d1.getEtà(), d2.getEtà(), d3.getEtà()}; int minimo=v2[0]; for(int i = 0;i<v2.length;i++){ if(v2[i]<minimo){ minimo=v2[i]; } } return minimo; } public static void main(String[] args) { Docente d1 = new Docente(01,40); Docente d2 = new Docente(02,25); Docente d3 = new Docente(03,30); int minimo = etaMinima(d1, d2, d3); System.out.println("Il docente più giovane ha età pari a "+minimo); } } Codice:
public class Università{ Docente [] docenti; public Università(Docente [] d){ docenti=d; docenti=new Docente [3]; } public int etàMinima(Docente [] doc){ int etàmin=docenti[0].getEtà(); for(int i=1; i<docenti.length;i++){ if(docenti[i].getEtà()<etàmin) etàmin=docenti[i].getEtà(); } return etàmin; } } Il testo dell'esercizio è completo, ho tralasciato soltanto il punto in cui mi veniva chiesto di creare la classe Docente e creare i vari campi, e i metodi get |
01-07-2014, 12:55 | #5 |
Bannato
Iscritto dal: Sep 2013
Messaggi: 333
|
l'ultima classe ha qualcosina che non va :
Codice:
docente=v; v = new Docente [3]; |
01-07-2014, 13:10 | #6 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
Quindi nel costruttore della classe Università devo scrivere solamente questo?
Codice:
public Università(Docente[]v){ docente=v; } Codice:
public class Università{ Docente [] docente; public Università(Docente[]v){ docente=v; } public static int etàMinima(Docente [] docente){ int etàmin = docente[0].getEtà(); int i; for(i=1; i<docente.length;i++){ if(docente[i].getEtà()<etàmin) etàmin=docente[i].getEtà(); } return etàmin; } public static void main(String[] args) { Docente[] doc = new Docente [3]; doc[0]=new Docente(1,40); doc[1]=new Docente(2,25); doc[2]=new Docente(3,30); int etàmin = etàMinima(doc); System.out.println("Il docente più giovane ha età pari a "+etàmin); } } Ultima modifica di FortNox : 01-07-2014 alle 13:27. |
01-07-2014, 13:26 | #7 |
Bannato
Iscritto dal: Sep 2013
Messaggi: 333
|
è una correzione inutile. Cerca di capire cosa combini nei vari esercizi e passaggi commentando ogni riga. Alla fine i programmi piu' strutturati non sono altro che una moltitudine di passaggi semplici ma ben strutturati...
|
01-07-2014, 13:34 | #8 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
Scusa ma la risposta precedente l'avevo modificata prima di leggere il tuo ultimo messaggio, ho capito cosa intendi soltanto che nell'esercizio mi vine richiesto di creare il costruttore parametrizzato della classe università. E io finora nei costruttori l'unica cosa che ho sempre fatto è stato assegnare un valore quindi non so cosa mettere nel costruttore di questa classe
|
01-07-2014, 13:53 | #9 |
Bannato
Iscritto dal: Sep 2013
Messaggi: 333
|
si funge, ma non hai un compilatore?
|
01-07-2014, 14:16 | #10 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
Si sto usando Eclipse, volevo solo essere sicura che non ci fosse qualcosa di errato comunque. Grazie di tutto
|
01-07-2014, 19:09 | #11 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Dovresti togliere il parametro del metodo etaMinima e togliere il modificatore static
|
01-07-2014, 22:55 | #12 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
Quindi il metodo dovrebbe rimanere così?
Codice:
public int etàMinima(){ int etàmin = docente[0].getEtà(); int i; for(i=1; i<docente.length;i++){ if(docente[i].getEtà()<etàmin) etàmin=docente[i].getEtà(); } return etàmin; } |
02-07-2014, 09:06 | #13 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Sì esatto, poi ovviamente nel main prima costruirai un oggetto Università, passando al costruttore l'array di docenti e poi sull'oggetto costruito richiamerai il metodo etaMinima.
|
02-07-2014, 09:20 | #14 |
Junior Member
Iscritto dal: Jun 2014
Messaggi: 7
|
ok, grazie
|
02-07-2014, 16:40 | #15 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7929
|
scusa ma ti funziona????
cioe` eta` scritto col carattere accentato funziona??? inoltre il for puoi costruirlo cosi`: Codice:
for (int i = 0; i < docente.length;i++){ // codice di controllo }
__________________
My gaming placement |
02-07-2014, 17:02 | #16 |
Bannato
Iscritto dal: Sep 2013
Messaggi: 333
|
|
02-07-2014, 17:25 | #17 | ||
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
Quote:
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
||
02-07-2014, 18:23 | #18 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7929
|
si il mio appunto era in realtà sull'inizializzazione di "i"
__________________
My gaming placement |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:52.