Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106

    [Java] domanda ciclo for-each

    Ciao ragazzi...avrei una domanda semplice da fare...ho costruito una classe con un campo Vector<> e dentro a suddetta ho un metodo che vorrebbe utilizzare un ciclo for-each....ora ogni volta che compilo per vedere se è tutto a posto, il compilatore continua ad incaz...si e a dirmi "missing return statement : } " sulla riga dove chiudo il metodo con il ciclo for-each.

    Ora quello che mi chiedo è : posso utilizzare tranquillamente un ciclio for each in una classe?? perchè mi sorge il dubbio di non poterlo fa...mi ricordo che la prof aveva detto qualcosa sul mettere dopo la dichiarazione della classe implemets Comparable<tipo_oggetto>

    Sapete aiutarmi?...perchè se non è questo non riesco a capire dov'è l'errore...grazie ciao

  2. #2

    Re: [Java] domanda ciclo for-each

    Originariamente inviato da albymotard
    ...mi ricordo che la prof aveva detto qualcosa sul mettere dopo la dichiarazione della classe implemets Comparable<tipo_oggetto>
    E cosa dovrebbe centrare questo?

    L'errore è piuttosto esplicativo, il metodo dovrebbe restituire qualcosa ma non lo fa.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    ah ok...allora sono fuori strada...sto dando per scontato qualcosa che non lo è..
    allora io ho una classe cinema che contiene dei posti. I posti è un riferimento a un vettore di posto (ovviamente posto è una altra classe che ha un costruttore che contine: int fila, int numero).

    in cinema ho questo metodo:

    //CAMPI cinema
    ...
    private Vector<Posto>posti;
    ...

    //METODI
    public Posto getPosto(int fila, int nr)
    {
    for( Posto i : posti)
    {
    ....
    ho una condizione che se risulta vera deve restituire il riferimento all'oggetto di tipo Posto
    return i;
    }
    }

    quando faccio return i, i non è un riferimento a Posto?....Purtroppo non posso fare copia incolla perchè sto usando una vitual machine

  4. #4
    Originariamente inviato da albymotard
    //METODI
    public Posto getPosto(int fila, int nr)
    {
    for( Posto i : posti)
    {
    ....
    ho una condizione che se risulta vera deve restituire il riferimento all'oggetto di tipo Posto
    return i;
    }
    }

    quando faccio return i, i non è un riferimento a Posto?
    ...e se la condizione non risulta mai vera cosa viene restituito?! Non puoi mettere il return SOLO all'interno di un if, devi comunque mettere anche un return NON condizionato.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    ahh...sai perchè...in poche parole sono certo (non per supposizione, ma perchè è cosi)che non avrò mai una condizione falsa...cmq a questo punto (visto che il compilatore non sa questa cosa) io devo dare sempre anche un return nel caso la condizione sia falsa...giusto?

  6. #6
    Originariamente inviato da albymotard
    ahh...sai perchè...in poche parole sono certo (non per supposizione, ma perchè è cosi)che non avrò mai una condizione falsa...cmq a questo punto (visto che il compilatore non sa questa cosa) io devo dare sempre anche un return nel caso la condizione sia falsa...giusto?
    Esattamente. Puoi anche aggiungere un return esterno al ciclo for (anche se in base ai dati che ricevi sai che esso non verrà mai eseguito).
    Oppure nell'if valorizzi un attributo e metti un break che ti fa uscire dal for e fuori restituisci il valore così recuperato.

    codice:
    //METODI
    public Posto getPosto(int fila, int nr) {
        Posto p = null;
        for (p : posti) {
            ....
            if (...) {
                break;
            }
        }
        return p;
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    106
    Grazie mille...sei stato gentilissimo...ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.