if / else if mit Fehler den ich leider nicht finde

monsterherz

Aktives Mitglied
Java:
public class test1 {
    public static void main (String[] args) {
        public class minimum() {
            int wert1=10;
            int wert2=20;
            int wert3=30;
        if (int wert1 < int wert2)
                {return wert1;}      
        else if (int wert2 <  int wert1)
                {return wert2;}
        else  
                {return wert3;}
       
        }
}
}

Code:
michi@localhost ~/java $ javac test1.java
test1.java:3: error: illegal start of expression
        public class minimum() {
        ^
test1.java:3: error: '{' expected
        public class minimum() {
                            ^
test1.java:7: error: illegal start of type
        if (int wert1 < int wert2)
        ^
test1.java:7: error: ';' expected
        if (int wert1 < int wert2)
                     ^
test1.java:7: error: <identifier> expected
        if (int wert1 < int wert2)
                       ^
test1.java:7: error: '(' expected
        if (int wert1 < int wert2)
                                 ^
test1.java:9: error: illegal start of type
        else if (int wert2 <  int wert1)
        ^
test1.java:9: error: ';' expected
        else if (int wert2 <  int wert1)
                          ^
test1.java:9: error: <identifier> expected
        else if (int wert2 <  int wert1)
                            ^
test1.java:9: error: '(' expected
        else if (int wert2 <  int wert1)
                                       ^
test1.java:11: error: illegal start of type
        else  
        ^
11 errors
 

KonradN

Super-Moderator
Mitarbeiter
Du versuchst in der Methode main eine neue Klasse zu erstellen. Das geht so nicht. Aber Du willst da auch keine Klasse minimum sondern wohl eine Methode minimum. Und die soll dann wohl einen int zurück geben.

Das wäre dann also eine Methodensignatur: public int minimum() {

Aber da gilt dann: Methoden werden in Klassen geschrieben. Du kannst diese nicht direkt in einer Methode schreiben. Also vom Aufbau her:
Java:
public class test1 {
    public static void main() {
        // ...
    }
    
    public int minimum() {
        // ...
    }
}

Das wäre die grobe Struktur. Es fallen noch andere DInge auf: wert1 / wert2 / wert3 sollen ggf. Parameter der Methode sein.
Dann ist die Frage: vermutlich willst Du die Methode direkt aus der main Methode aufrufen - dann müsste diese auch noch ein static davor bekommen: public static int minimum().
 

httpdigest

Top Contributor
Dazu kommt noch, dass sowas wie:
Java:
int wert1 < int wert2
kein gültiger boolescher Ausdruck (oder überhaupt ein Ausdruck) ist.
Der Compiler weiß durch die Variablendeklaration schon, dass wert1 und wert2 vom Typ int sind. Das brauchst du nicht nochmal in die Bedingung des ifs zu schreiben.
 

monsterherz

Aktives Mitglied
Dazu kommt noch, dass sowas wie:
Java:
int wert1 < int wert2
kein gültiger boolescher Ausdruck (oder überhaupt ein Ausdruck) ist.
Der Compiler weiß durch die Variablendeklaration schon, dass wert1 und wert2 vom Typ int sind. Das brauchst du nicht nochmal in die Bedingung des ifs zu schreiben.
ok ich habe auch viel getestet weil ich den Fehler nicht gefunden habe. Und ich bin von Python nicht gewöhnt die Variablenart anzugeben
 

KonradN

Super-Moderator
Mitarbeiter
Am Anfang ist der Aufbau eigentlich immer gleich und sollte eingehalten werden:

Erste Zeile kann ein Package sein. Wenn Du das am Anfang noch nicht hast, dann ignoriere es.

Dann können imports kommen. Wenn Du eine andere Klasse nutzen willst, die nicht im gleichen Package ist und nicht in java.lang, dann müsste man diese erst importieren. Also wenn Du später mal den Scanner nutzen willst, dann brauchst Du ein
import java.util.Scanner;`
oder ein
import java.util.*;
(Was Scanner für eine Klasse ist und so kannst Du erst einmal ignorieren. Wenn Du keine imports brauchst, dann entfällt dieser Bereich auch.

Dann kommt eigentlich immer ein
public class KlassenName {

KlassenName ist dabei ein beliebiger Name (ohne Leer- und Sonderzeichen), in der Regel mit der Schreibweise wie ich sie hier zeige: Startet mit einem großen Buchstaben, bei mehreren Worten werden die aneinander geschrieben und jedes Teilwort startet mit einem großen Buchstaben.
Die Klassen sind dabei in einer Datei, die genau so heisst, wie die Klasse - nur mit einem .java dran. Dabei ist die Gross-/KLeinschreibung zu beachten. Die Datei bei der Klasse KlassenName wäre also KlassenName.java (und nicht klassenname.java oder so).

In { muss immer auch mit einem } kommen. Dazwischen hast Du dann einen Block und dieser Block bei class wird dann die Klasse umschließen.

Direkt in die Klasse kannst Du dann packen:
  • Variablen
  • Methoden (Incl. speziellen Methoden die sich Konstruktoren nennen).
  • Innere Klassen - das vergisst Du aber ganz schnell - bis das dann irgendwann mal behandelt wird.

Das wäre dann die grobe Struktur am Anfang. Die solltest Du etwas verinnerlichen.
 

httpdigest

Top Contributor
Man kann schon Klassen innerhalb von Methoden deklarieren. Die dürfen dann halt nur nicht public sein, also:
Java:
public class OuterClass {
  public void method() {
    class MethodLocalClass {
      int a;
    }
    MethodLocalClass m = new MethodLocalClass();
    m.a = 3;
  }
}
 

KonradN

Super-Moderator
Mitarbeiter
Ach jee ... das ist mir doch irgendwie tatsächlich bisher entgangen. Und ich konnte es nicht glauben bis ich es ausprobiert habe :)

Da lag ich dann tatsächlich komplett daneben. Vielen Dank für die Aufklärung!
 

Neumi5694

Top Contributor
Das ist eigentlich recht praktisch, z.B. wenn man ein Zwischenergebnis in Containern gespeichert werden soll, die wirklich nur an dieser Stelle gebraucht werden.

ok ich habe auch viel getestet weil ich den Fehler nicht gefunden habe. Und ich bin von Python nicht gewöhnt die Variablenart anzugeben
Es gibt Fälle, wo du in Java Objects hast und ebenfalls den gewünschten Typ "angeben" oder den Typ einer Variable ändern musst, das nennt man dann Casten, der Typ wird vor den Wert in eine runden Klammer geschrieben.
Java:
MyClassName selectedValue = (MyClassName) combobox.getSelectedItem();
//oder
if ((int) wert1 = wert2) { //wobei mir grad kein Fall in den Sinn kommt, wo ein primitiver Datentyp unbekannt sein kann, aber der Wechsel zwischen byte/int/long kann so gemacht werden.
//Würde man aus irgendeinem Grund die Kombobox casten müssen, würde das so ausschauen
((MyComboboxClass) combobox).getSelectedItem();

ps: Halte dich in Java am Besten von Anfang an an die Konventionen, wie die geschwungenen Klammern geschrieben werden. An der Funktionalität des Codes ändert das nichts, aber andere können es dann leichter lesen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
L else without if Fehler Java Basics - Anfänger-Themen 14
E Compiler-Fehler Fehler: else without if Java Basics - Anfänger-Themen 11
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
I If / Else in Setter? Java Basics - Anfänger-Themen 8
M If-Else Java Basics - Anfänger-Themen 5
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
laxla123 If-else Java Java Basics - Anfänger-Themen 4
luggas89 If else auch mit unterschiedlichen Antworten Java Basics - Anfänger-Themen 5
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Übung Else if Java Basics - Anfänger-Themen 2
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
T "Einkauf" & if else Struktur Java Basics - Anfänger-Themen 7
steven789hjk543 Input mit if-else Java Basics - Anfänger-Themen 23
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
A break; mit Einfluss hinter else if Block Java Basics - Anfänger-Themen 3
R else without if error Java Basics - Anfänger-Themen 5
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
C Variablen 'else' without 'if' Java Basics - Anfänger-Themen 4
F If - Else Java Basics - Anfänger-Themen 3
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
M jOptionPane mit if else Java Basics - Anfänger-Themen 16
K Frage zu If & else if Java Basics - Anfänger-Themen 5
R else if anweisungen Java Basics - Anfänger-Themen 2
Y Problem mit If-Else Verzweigung! Java Basics - Anfänger-Themen 9
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
Hijo2006 If-else Java Basics - Anfänger-Themen 6
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
T If/ Else If (zurückkehren) Java Basics - Anfänger-Themen 4
O Grosse If / Else verschachtelung übersichlitcher gestlten Java Basics - Anfänger-Themen 6
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27
M If in einem else Java Basics - Anfänger-Themen 14
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
C else in if umschreiben Java Basics - Anfänger-Themen 2
J Fehlermeldung else without if Java Basics - Anfänger-Themen 5
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
E If...else... Java Basics - Anfänger-Themen 7
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
C If Else Frage Java Basics - Anfänger-Themen 2
M if, else Anweisung Java Basics - Anfänger-Themen 3
J Ergebnis wird gespammt sowie eine else if Frage Java Basics - Anfänger-Themen 2
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
O if and else geht nur manchmal Java Basics - Anfänger-Themen 17
V Operatoren Java if-else argument Java Basics - Anfänger-Themen 4
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
P [ANFÄNGER] if else funktioniert nicht Java Basics - Anfänger-Themen 4
T If, else Problem Java Basics - Anfänger-Themen 12
C IF-Else Verknüpfungen Java Basics - Anfänger-Themen 10
Uzi21 if - else Abfrage Java Basics - Anfänger-Themen 6
T Problem im If-Else-Statement Java Basics - Anfänger-Themen 4
R if funktion ohne else - Bedingung trifft nicht zu, ausgabe nicht nachvollziehbar Java Basics - Anfänger-Themen 7
T If ; else error on system token delete Java Basics - Anfänger-Themen 5
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
F try/catch - (else) Java Basics - Anfänger-Themen 11
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
S if und else problem... Java Basics - Anfänger-Themen 13
Q if-else Logikproblem Java Basics - Anfänger-Themen 4
M Probleme mit else if Java Basics - Anfänger-Themen 15
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
B OOP If und else in Main class einbinden Java Basics - Anfänger-Themen 9
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
K Bedingungen else Java Basics - Anfänger-Themen 7
B if-else in einer schleife Java Basics - Anfänger-Themen 14
J Erste Schritte If-Else Idee gesucht Java Basics - Anfänger-Themen 6
T if else Java Basics - Anfänger-Themen 8
R boolean, if-else Java Basics - Anfänger-Themen 7
M if then else geht nicht Java Basics - Anfänger-Themen 10
P int-Wertevergleich mit if-else-Verzweigung Java Basics - Anfänger-Themen 3
P If-else-Verzweigung Java Basics - Anfänger-Themen 9
D Java Einsteiger (boolean, if-else etc.) Java Basics - Anfänger-Themen 7
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
K Mal wieder ein Problem mit If / Else Java Basics - Anfänger-Themen 10
K Anfänger If / Else Problem Java Basics - Anfänger-Themen 5
C if else Abfrage Java Basics - Anfänger-Themen 11
T Umschreiben von switch in if else und umgekehrt Java Basics - Anfänger-Themen 9
C Schleifen, if, else......? Java Basics - Anfänger-Themen 8
2 if und else Java Basics - Anfänger-Themen 9
L If/else nicht korrekt ausgeführt. Java Basics - Anfänger-Themen 22
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
S if-else Java Basics - Anfänger-Themen 22
A ein if else problem Java Basics - Anfänger-Themen 13
N If-else-If Leiter Java Basics - Anfänger-Themen 9
U Dringend: Syntax error on token "else" Java Basics - Anfänger-Themen 8
L if else anweisung Java Basics - Anfänger-Themen 2
M If/Else mit Zahlenfolge Java Basics - Anfänger-Themen 13
B Problem mit Variable und if/else Java Basics - Anfänger-Themen 6
H alternativen zu if .. else .. Java Basics - Anfänger-Themen 11
J Geschachtelte If-Else Anweisung Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben