Errore creazione metodo

di il
6 risposte

Errore creazione metodo

Salve a tutti! La mia probabilmente sarà una domanda banale, ma non capisco perché continuo a ricevere un errore nella creazione di un metodo, anche copiando parte di codice da internet. Ad ogni modo, voglio creare un semplice metodo di prova per l'area del parallelogramma, quindi scrivo:

public double areaParallelogramma(double base, double altezza) {
			
			double area= base * altezza;
			
			return area;
			
		}
Ricevo però un errore relativo alla riga in cui dichiaro il metodo (e anche un warning per il "return area" in quanto Eclipse sostiene che il tipo del motodo sia void). L'errore che ricevo è:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	Illegal modifier for parameter areaParallelogramma; only final is permitted
	Syntax error on token "(", ; expected
	Syntax error on token ",", ; expected
	Syntax error on token ")", ; expected
	Void methods cannot return a value
	
Cosa sto sbagliando?

6 Risposte

  • Re: Errore creazione metodo

    Quiquoqua48 ha scritto:


    Ricevo però un errore relativo alla riga in cui dichiaro il metodo (e anche un warning per il "return area" in quanto Eclipse sostiene che il tipo del motodo sia void). L'errore che ricevo è:
    
    Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    	Illegal modifier for parameter areaParallelogramma; only final is permitted
    	Syntax error on token "(", ; expected
    	Syntax error on token ",", ; expected
    	Syntax error on token ")", ; expected
    	Void methods cannot return a value
    	
    Posta il codice completo, se possibile. Perché il solo metodo che hai riportato di per sé è CORRETTO.
  • Re: Errore creazione metodo

    Il resto del codice è una classe vuota.. il codice completo è:
    
    package experiment;
    
    public class provaMetodo {
    
    	public static void main(String[] args) {
    	
            public double areaParallelogramma(double base, double altezza) {
    			
    			double area= base * altezza;
    			
    			return area;
    			
    		}
    
    	}
    
    }
    
  • Re: Errore creazione metodo

    Quiquoqua48 ha scritto:


    
    	public static void main(String[] args) {
    	
            public double areaParallelogramma(double base, double altezza) {
    			
    			double area= base * altezza;
    			
    			return area;
    			
    		}
    
    	}
    
    Ah ecco! Hai definito areaParallelogramma dentro il main. E' questo che non è corretto.
  • Re: Errore creazione metodo

    Già, che errore... come le funzioni in C, anche i metodi vanno dichiarati fuori dal main (che è esso stesso un metodo), giusto?
  • Re: Errore creazione metodo

    Quiquoqua48 ha scritto:


    Già, che errore... come le funzioni in C, anche i metodi vanno dichiarati fuori dal main (che è esso stesso un metodo), giusto?
    Sì. In Java un metodo NON può contenere direttamente un altro metodo.
    Potrebbe contenere al massimo una local o una anonymous inner class che a sua volta contiene dei metodi. Ma è un altro discorso ...
  • Re: Errore creazione metodo

    Perfetto, grazie mille per le risposte!
Devi accedere o registrarti per scrivere nel forum
6 risposte