Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Missing Return Statement

    Devo implementare questa classe che rappresenta un nucleo familiare
    codice:
    class Famiglia{
    
    	private String cognome;
    	private String[] nomeComponente;
    	private int[] età;
    
    	public Famiglia(String cogn, String[] nomi, int[] e){
    		this.cognome=cogn;
    		this.nomeComponente=nomi;
    		this.età=e;
    		}
    
    	public String piùGrande(){
    		String anziano=null;
    		int max=0;
    		for (int i=0; i<this.età.length; i++){
    			if(this.età[i]>max)
    			anziano=this.nomeComponente[i];
    			max=this.età[i];
    			}
    		return anziano;
    		}
    
    	public String minori(){
    		for(int i=0; i<this.età.length; i++){
    			if(this.età[i]<18)
    				return this.nomeComponente[i];
    			}
    		}
    
    	}
    fino al metodo piùGrande() non ci sono stati errori di compilazione e la classe di prova ha funzionato correttamente, dopo aver creato il metodo minori() mi ritorna questo errore:


    codice:
    java:29:missing return statement
    }
    la riga 29 è la riga della penultima parentesi graffa.
    Non riesco a capire quale sia l'errore.
    Spero che qualcuno possa aiutarmi!!!

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Missing Return Statement

    Originariamente inviato da zitellic
    codice:
    	public String minori(){
    		for(int i=0; i<this.età.length; i++){
    			if(this.età[i]<18)
    				return this.nomeComponente[i];
    			}
    		}
    
    	}
    fino al metodo piùGrande() non ci sono stati errori di compilazione e la classe di prova ha funzionato correttamente, dopo aver creato il metodo minori() mi ritorna questo errore:


    codice:
    java:29:missing return statement
    }
    la riga 29 è la riga della penultima parentesi graffa.
    Non riesco a capire quale sia l'errore.
    Spero che qualcuno possa aiutarmi!!!
    Se un metodo ha un valore di ritorno, ogni possibile esecuzione del metodo deve poter restituire qualcosa. Nel tuo caso cosa succede se nessuno ha meno di 18 anni? Il metodo cosa restuisce? Boh, non lo hai scritto...

    edit: variabili con lettere accentate? Orrore!
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    scusami per le imprecisioni.

    il metodo minori() visualizza i nomi di tutti i componenti della famiglia che sono minorenni.

  4. #4
    ah certo, ho capito cosa intendi, scusami!!!
    provo subito, grazie!!!

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da zitellic
    il metodo minori() visualizza i nomi di tutti i componenti della famiglia che sono minorenni.
    Sicuro? Guarda bene: non appena trova un minorenne lo restituisce. Se ce ne fossero tre, il metodo troverebbe solo il primo. E se non ce ne fossero, il comportamento sarebbe indefinito

    Potresti fare una cosa del genere:
    codice:
    public ArrayList<String> elencoMinorenni() {
    	ArrayList<String> minorenni = new ArrayList<String>();
    
    	for (int i = 0; i < this.età.length; i++) {
    		if (this.età[i] < 18) {
    			minorenni.add(this.nomeComponente[i]);
    		}
    	}
    	
    	return minorenni;
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    il problema è che nel corso non abbiamo fatto gli ArrayList quindi non so come usarli...

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da zitellic
    il problema è che nel corso non abbiamo fatto gli ArrayList quindi non so come usarli...
    Beh, puoi sempre usare gli array classici:
    codice:
    public String[] elencoMinorenni() {
    	String[] minorenni = new String[this.età.length];
    
    	for (int i = 0; i < this.età.length; i++) {
    		if (this.età[i] < 18) {
    			minorenni[i] = this.nomeComponente[i];
    		}
    	}
    	
    	return minorenni;
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    GRAZIE MILLE ALEX'87!!!!

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da zitellic
    GRAZIE MILLE ALEX'87!!!!
    Occhio che comunque l'array restituito ha dei "buchi" di elementi lasciati a null
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    si, ho già preso atto dei "buchi" ed ho risolto!!!
    grazie ancora!

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.