Principiante Java cerca aiuto

di il
5 risposte

Principiante Java cerca aiuto

Salve ragazzi, vi scrivo subito il programma del mio prof (traccia: Scrivere una classe Docente che rappresenti le seguenti informazioni relative ad un docente: nome,
cognome, codice ed età, e che contenga il costruttore parametrizzato ed i metodi getCodice, getCognome e
getEta che restituiscono rispettivamente il codice, il cognome e l’età del docente.
Scrivere poi una classe Universita, che rappresenti un insieme di docenti universitari tramite un array di tipo
Docente, e che contenga il costruttore parametrizzato ed un metodo etaMinima che restituisce la minima
età tra i docenti universitari.) :

class Docente{
private String nome;
private String cognome;
private int codice;
private int eta;
public Docente(String n, String c, int cod, int e){
nome=n;cognome=c;codice=cod;eta=e;
}
public Docente(Docente d){
nome=d.getNome();
cognome=d.getCognome();
codice=d.getCodice();
eta=d.getEta();
}
public String getNome(){
return nome;
}
public String getCognome(){
return cognome;
}
public int getCodice(){
return codice;
}
public int getEta(){
return eta;
}
}
class Universita{
private Docente[] docenti;
public Universita(Docente[] d){
docenti=new Docente[d.length];
for(int i=0;i<d.length;i++)
docenti=new Docente(d);
}
public int etaMinima(){
int min=docenti[0].getEta();
for(int i=1;i<=docenti.length;i++)
if(docenti.getEta()<min) min=docenti.getEta();
return min;
}
}

Non riesco a capire in particolare a cosa serve, cosa fa la "d" in d.getnome ecc e nella classe universita.
Grazie per la disponibilità e la considerazione a chiunque mi risponda:)

5 Risposte

  • Re: Principiante Java cerca aiuto

    E' una variabile di istanza. Per poter utilizzare i metodi di una classe, la devi prima istanziare.
    Docenti d = new Docenti("Mario", "Rossi", 123, 50); // crea una nuova istanza di Docenti eseguendone il costruttore.
    A questo punto puoi usare d per accedere ai metodi propri della classe Docenti:
    d.getNome();
    PS: Usa il tag Code per il codice altrimenti è difficile da interpretare
  • Re: Principiante Java cerca aiuto

    E sai spiegarmi cosa succede qui?

    class Universita{
    private Docente[] docenti;
    public Universita(Docente[] d){
    docenti=new Docente[d.length];
    for(int i=0;i<d.length;i++)
    docenti=new Docente(d);
    }
    public int etaMinima(){
    int min=docenti[0].getEta();
    for(int i=1;i<=docenti.length;i++)
    if(docenti.getEta()<min) min=docenti.getEta();
    return min;
    }

    Perchè nei cicli for usa prima d.length e poi docenti.length? Non è la stessa cosa?
  • Re: Principiante Java cerca aiuto

    E grazie <3
  • Re: Principiante Java cerca aiuto

    Il .lenght alla vine è un metodo e ci devi mettere le parentesi () tonde
  • Re: Principiante Java cerca aiuto

    itachipwn ha scritto:


    E sai spiegarmi cosa succede qui?

    class Universita{
    private Docente[] docenti;
    public Universita(Docente[] d){
    docenti=new Docente[d.length];
    for(int i=0;i<d.length;i++)
    docenti=new Docente(d);
    }
    public int etaMinima(){
    int min=docenti[0].getEta();
    for(int i=1;i<=docenti.length;i++)
    if(docenti.getEta()<min) min=docenti.getEta();
    return min;
    }

    Perchè nei cicli for usa prima d.length e poi docenti.length? Non è la stessa cosa?


    Nì. docenti è una variabile di istanza accessibile a tutti metodi della classe. L'altra assume il valore quando viene passato un array Docente al metodo Universita, nasce e muore all'interno del metodo.
Devi accedere o registrarti per scrivere nel forum
5 risposte