[java] esercizio lunghezza array di stringhe

Discussione in 'Java' iniziata da ManuelaP, 22 Agosto 2018.

  1. ManuelaP

    ManuelaP Nuovo Utente

    Registrato:
    22 Agosto 2018
    Messaggi:
    1
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Buonasera a tutti,
    sto preparando un esame e nello svolgere questo esercizio ho riscontrato qualche difficoltà. La richiesta è la seguente: dato un array di 4 razze di animali (intese come gatto, cane, ) implementare un metodo statico che restituisce quello con razza avente nome massimo, se non esiste restituisce null.

    Dal punto di vista sintattico il codice sembra corretto, deve sfuggirmi qualcosa nell'implementazione del metodo " trovaAnimaleMaxRazza" perché l'output risulta errato.
    Inoltre chiedo un chiarimento sull'override del metodo compareTo quando il campo considerato è una stringa. Come ho fatto io è corretto?

    Ringrazio in anticipo per l'aiuto.


    Vi allego il codice scritto da me:


    Codice:
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Animale a1 = new Animale("gatto");
            Animale a2 = new Animale("leone");
            Animale a3 = new Animale("rinoceronte");
            Animale a4 = new Animale("rinoceronte");
            Animale[] vet = new Animale[] {a1, a2, a3, a4};
            System.out.println("razza max è: " + trovaAnimaleMaxRazza(vet));
        }
    
    
        private static String trovaAnimaleMaxRazza(Animale[] vet) {
            int uguali = 0; //variabile per capire se ci sono razze di uguale lunghezza
            int p = 0;
            String maxLength = null;
            if(vet.length > 0) {
                for (int i=0; i<vet.length; i++){
                    if (vet[i].getRazza().length() > vet[p].getRazza().length()){
                        maxLength = vet[i].getRazza();
                        uguali=0;
                    }
                    else if (vet[i].getRazza().length() == vet[p].getRazza().length()){
                        uguali++;
                    }
                }
            }
    
            if (uguali == 0)
                return maxLength;
            else return null;
        }
    }
    
    
        class Animale implements Comparable<Animale> {
            public String getRazza() {
                return razza;
            }
    
            public void setRazza(String razza) {
                this.razza = razza;
            }
    
            public Animale(String razza) {
                this.razza = razza;
            }
    
            String razza;
    
            @Override
            public int compareTo(Animale o) {
                return 0;
            }
    
        }
     

    Files Allegati:

    Ultima modifica: 24 Agosto 2018
Sto caricando...

Condividi questa Pagina