Problema con "Return" keyword in un programma!

di il
10 risposte

Problema con "Return" keyword in un programma!

Sto studiando i metodi e mi sono imbattuto in un problema.
Qui di seguito elenco il programma già formattato:
public class ReturnKeywordEX {
	public static void main(String[]args){
	}
	
	static int ReturnFive(){
		return 5;
		
		int x = ReturnFive;
		System.out.println(x);
	}
}
Mi dice "returnFive cannot be resolved in a variable". Non capisco la natura dell' errore dato anche che, il programmatore che risolveva l' esercizio, nello stesso modo, riusciva ad avviarlo senza il minimo problema!

10 Risposte

  • Re: Problema con "Return" keyword in un programma!

    Ma come hai scritto il codice? Non c'è nulla nel main ...
  • Re: Problema con "Return" keyword in un programma!

    oregon ha scritto:


    Ma come hai scritto il codice? Non c'è nulla nel main ...
    Intendi così?
    public class ReturnKeywordEX {
    	public static void main(String[]args){
    		ReturnFive();
    	}
    	
    	static int ReturnFive(){
    		return 5;
    		
    		int x = ReturnFive;
    		System.out.println(x);
    	}
    }
  • Re: Problema con "Return" keyword in un programma!

    Ciao!
    Il codice è errato, come ti ha già detto oregon, non c'è nulla nel main, inoltre hai mancato le parentesi tonde vicino al metodo ReturnFive nell'istanza della variabile x. Il codice corretto è questo:
    public class ReturnKeywordEX 
    {
        public static void main(String[]args)
       {
           int x = ReturnFive();     
           System.out.println(x);
       }
       
       private static int ReturnFive()
      {
          return 5;      
      }
    }
  • Re: Problema con "Return" keyword in un programma!

    Bio ha scritto:


    Ciao!
    Il codice è errato, come ti ha già detto oregon, non c'è nulla nel main, inoltre hai mancato le parentesi tonde vicino al metodo ReturnFive nell'istanza della variabile x. Il codice corretto è questo:
    public class ReturnKeywordEX 
    {
        public static void main(String[]args)
       {
           int x = ReturnFive();     
           System.out.println(x);
       }
       
       private static int ReturnFive()
      {
          return 5;      
      }
    }

    Ciao Bio! Innanzitutto grazie per la tempestività. Volevo solo chiederti, come mai hai messo "private" nella penultima riga di code?
  • Re: Problema con "Return" keyword in un programma!

    In pratica "private" si mette quando il metodo che vuoi utilizzare deve essere usato solo nella classe nella quale si trova, quindi il metodo ReturnFive può essere utlizzato solo nella classe ReturnKeywordEX, e non in altre classi
  • Re: Problema con "Return" keyword in un programma!

    Bio ha scritto:


    in pratica "private" si mette quando il metodo che vuoi utilizzare deve essere usato solo nella classe nella quale si trova, quindi il metodo ReturnFive può essere utlizzato solo nella classe ReturnKeywordEX, e non in altre classi
    Allora, tralasciando il "private" che non era obbligatorio, dove avrei sbagliato precisamente? Non ho ben capito cosa intendete per: Non c'è niente nel main!
  • Re: Problema con "Return" keyword in un programma!

    Waffles ha scritto:


    Non ho ben capito cosa intendete per: Non c'è niente nel main!
    Nel tuo codice iniziale, il main era "vuoto", tra le { } non c'era niente.
    Nel tuo secondo codice postato nel main c'è la invocazione a ReturnFive(); e tecnicamente sarebbe ok (nonostante poi non usi il valore di ritorno). Ma ReturnFive() è comunque sbagliato perché hai scritto:
       static int ReturnFive(){
          return 5;
          
          int x = ReturnFive;
          System.out.println(x);
       }
    Intanto NON puoi mettere un return incondizionato all'inizio del metodo e poi mettere altre istruzioni dopo. Queste altre istruzioni tecnicamente sono "unreachable" (non raggiungibili) e per le regole di Java è un errore la presenza di codice che non può essere materialmente eseguito poiché non ci si può arrivarci.

    E in int x = ReturnFive; questo ReturnFive NON c'entra niente con il nome del metodo, perché per come è scritto è un nome di variabile (che però non esiste).
  • Re: Problema con "Return" keyword in un programma!

    Scusa Waffles ma non puoi confrontare il tuo codice con quello corretto che ti è stato fornito? Sono poche righe e le differenze le vedi da solo ...
  • Re: Problema con "Return" keyword in un programma!

    Waffles ha scritto:


    Non ho ben capito cosa intendete per: Non c'è niente nel main!
    Il "main" è il metodo principale, ovvero:
    "public static void main(String[] args)"

    e tu lo avevi lasciato vuoto, non inserendo niente nelle parentesi graffe
  • Re: Problema con "Return" keyword in un programma!

    Bio ha scritto:


    Waffles ha scritto:


    Non ho ben capito cosa intendete per: Non c'è niente nel main!
    Il "main" è il metodo principale, ovvero:
    "public static void main(String[] args)"

    e tu lo avevi lasciato vuoto, non inserendo niente nelle parentesi graffe

    Va bene Grazie!
Devi accedere o registrarti per scrivere nel forum
10 risposte