www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges - Informatik" - Java Anfänger Prorgamm
Java Anfänger Prorgamm < Sonstige < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Java Anfänger Prorgamm: illegal start of expression
Status: (Frage) beantwortet Status 
Datum: 17:26 So 07.10.2007
Autor: ichonline

Hallo,

ich habe vor kurzem angefangen Java zu lernen.
Nun haben wir im Kurs gelernt kleinere Programme zu erstellen.
Im Folgenden Prorgamm versuche ich das Maximum der Zahlen zu bestimmen. Leider kommt immer die Fehlermeldung illegal start of expression, die sich auf Zeile 3(static int Maximum) bezieht und class, interface, enum expected in der letzten Zeile.

class Maximum {
public static void main (String []args){
        static  int Maximum (int max1, int max2){
int max;
if (max1<max2)
max=max1;
else
max=max2;
return max;

     }
}
}

wäre super, wenn mir jemand helfen könnte.
Grüße ichonline

        
Bezug
Java Anfänger Prorgamm: Antwort
Status: (Antwort) fertig Status 
Datum: 17:33 So 07.10.2007
Autor: piet.t

Hallo,

Du versucht, innerhalb Deiner main()-Methode eine Methode Maximum() zu definieren - und das ist nicht erlaubt, Methoden dürfen nur in Klassen definiert werden, nicht in anderen Methoden. Eine mögliche Lösung könnte vielleicht so aussehen:
1: class Maximum { 
2: public static void main (String []args){ 
3: //hier kannst Du z.B. Deine maximum()-Methode aufrufen - oder Du lässt
4: //main() komplett weg, wenn maximum() aus einer anderen Klasse
5: //aufgerufen werden soll
6: }
7: static  int maximum (int max1, int max2){ 
8: int max; 
9: if (max1<max2) 
10: max=max1; 
11: else 
12: max=max2; 
13: return max; 
14: } //Ende maximum() 
15:  
16:


Gruß

piet


Bezug
                
Bezug
Java Anfänger Prorgamm: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:08 So 07.10.2007
Autor: ichonline

super funktioniert jetzt :)

Danke für die Erklärungen und Fehlerbehebnung.

Cu ichonline

Bezug
                        
Bezug
Java Anfänger Prorgamm: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:31 So 07.10.2007
Autor: ichonline

Hi,

jetzt hab ich doch noch ein kleinens Problem.
Und zwar wo muss ich System.out.println("Maximum="+max);
einfühen, damit ich dass Maximum angezeigt bekomme`?

class Maximum {
public static void main (String []args){


}
static  int Maximum (int max1, int max2){
int max;
max1=2;
max2=7;
if (max1<max2)
max=max1;
else
max=max2;
return max;
  }  
}

also wenn ich die Zeile vor return max; einfüge bekomme ich keine fehlermeldung, aber beim Ausführen passiert nix.

Cu ichonline




Bezug
                                
Bezug
Java Anfänger Prorgamm: Antwort
Status: (Antwort) fertig Status 
Datum: 18:52 So 07.10.2007
Autor: piet.t

Hallo,

so wie das im Moment aussieht würde es mich auch wundern, wenn da was passiert ;-)

Spaß beiseite, um das zu verstehen muss man sich einfach klar machen was passiert, wenn man ein java-Programm (sprich: eine Klasse mit einer main()-Methode) startet. Dann wird nämlich gerade der code, der in main() enthalten ist ausgeführt - in unserem Fall also gar keiner, denn main() ist ja noch leer.
Maximum() ist eine Funktion, die von irgendwo her aufgerufen werden muss und alleine erstmal nicht lauffähig ist - von welchen Zahlen sollte denn auch das Maximum bestimmt werden?
Fazit: man füge Code in die main()-Methode ein, der dann entsprechend ausgführt wird. Also zum Beispiel so:
1: class Maximum { 
2: public static void main (String []args){ 
3:    int1 = 1;
4:    int2 = 2;
5:    int ergebnis = maximum(int1,int2);
6:    System.out.println(ergebnis);
7:
8: static  int maximum (int max1, int max2){ 
9: int max; 
10: if (max1<max2) 
11: max=max1; 
12: else 
13: max=max2; 
14: return max; 
15: } //Ende maximum() 
16:
17:

In den Zeilen 3 und 4 werden also zunächst zwei Variablen definiert, dann wird in Zeile 5 die maximum()-Mathode aufgerufen. Anschließend wird der Rückgabewert aus der Methode ausgegeben.
Man könnte jetzt auch Ausgabebefehle in die maximum()-Methode einbauen, auch die würden dann ausgeführt.

Gruß

piet

P.S.: noch eine kleine Anmerkung am Rande: unter java-Programmierern ist es üblich (auch wenn es die Sprache an sich nicht erzwingt), nur Klassennamen groß zu schreiben. Methoden- und Variablennamen schreibt man üblicherweise klein - also besser maximum() statt Maximum().

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]