Compiler-Fehler void is an invalid type for the variable

Durin

Neues Mitglied
Hallöchen ihr lieben!


Ich bin dabei mich mit Java zu beschäftigen.
Meine Programmiererfahrungen belaufen sich ( auch schon ein paar Jahre her ) auf TurboPascal und ein winziges bisschen C++.

Um den Einstieg in Java zu finden, halte ich mich an "Java ist auch eine Insel - Ausgabe 5"
( Mir ist bekannt dass es auch eine neuere Version gibt aber ich programmiere mit Eclipse und wollte auch wissen wie ich es in Eclipse umzusetzen habe, welches in der 9. Ausgabe nicht wirklich erklärt wurde. )


Derzeit bin ich dort im Kapitel 2.7.5 Parameter, Argument und Wertübergabe
Jetzt gibt es da und gefolgt Beispiele die ich von der Absicht her verstehe,
aber keine ausreichende Erklärung finde, wo genau das eingesetzt wird.
Denn nur diese Zeilen aus dem Beispiel bewirken einen anderen Fehler.

Es geht um folgenden Auszug aus dem Buch:

Java:
Beispiel   Die Implementierung der Funktion max():
static void max( double a, double b )
{
  if ( a > b )
    System.out.println( a );
  else
    System.out.println( b );
}

Nun habe ich das mit meinem (Un)wissen einfach wie folgt umgesetzt:

Java:
class Test
{
	
  public static void main( String[] args)
  {
	  static void max(double a, double b)
		{
		  if ( a > b )
		    System.out.println( a );
		  else
		    System.out.println( b );
		}
  }
}
Und erhalte bei max den Fehler: void is an invalid type for the variable max.


Ich weiß leider nicht was ich falsch mache und erhalte auch sonst keinerlei Informationen.

Über jede nützliche Hilfe wäre ich sehr dankbar! :rtfm:
 
Java:
class Test
{
	
  public static void main( String[] args)
  {
	  max(3, 5);
  }
}

EDIT:

In dem Beispiel wird die Methode
Code:
max
mit den Parametern 3 und 5 aufgerufen.
 
Zuletzt bearbeitet:
Definiere die max-Methode außerhalb der main-Methode (Methoden lassen sich auf diese Weise nicht verschachteln).
 
@striker, vielleicht hätte man auch was dazu sagen können 🙂

@durin, du kannst keine methode innerhalb einer methode definieren. erstelle die methode max(...) einfach außerhalb der method main(...).
dann rufts du sie einfach in der main auf. 🙂

edith:
@tfa, du kamst mir dazwischen 😀
 
Hi,

du musst die max Methode in der main methode aufrufen

also so:
Java:
public static void main(String[] args) {
	    	 
	    	 max(10,15);
	    	 
	     }
	    	     
	     
	     static void max(double a, double b){
	    	 
	    	  if ( a > b )
	    	  System.out.println( a );
	    	  else
	    	  System.out.println( b );
	    	        }
	    	  }

Bei dir ist das Problem, das du in der main Methode eine neue Methode max erzeugst. Das funktioniert allerdings nicht. Das heißt du musst einfach in der Main Methode die von dir erstellte max Methode aufrufen und dieser 2 Parameter "a" und "b" übergeben. Aus diesen wird dann die größere Zahl ausgegeben.
 
Hey super, es klappt! 😉

:applaus: Danke! :applaus:

Ihr glaubt ja gar nicht was das bisschen jetzt für einen Lerneffekt ausgelöst hat :lol:
 

Neue Themen


Zurück
Oben