was machen wenn '.class'= expected als Fehler besteht?
Hallo ich lerne gerade Programmieren für meine Komplexe Leistung. Ich versuche mich an einer if- Funktion, scheitere allerdings an einem Fehler. Wenn ich meinen Code Ausführe wird bei mir angezeigt " error: '.class' expected ". Ich würde gerne wissen was ich falsch gemacht habe, ich stelle meinen Code mal mit rein.
public class mist {
int dumm = 3;
public static void main(String[] args) {
System.out.println("Ich bekomm das nicht hin");
if( int = true);
System.out.println("Lol");
}
}
3 Antworten
Deine if-Abfrage macht überhaupt keinen Sinn.
Ein int ist erstmal nur ein Datentyp und nicht der Name deiner Variable. Um zwei Werte in einer if-Abfrage miteinander zu vergleichen, musst du nicht ein, sondern zwei Gleichheitszeichen benutzen (==).
Dieser Vergleich, den du da aber hast, macht keinen Sinn. Du kannst einen Integer (eine Zahl) nicht mit einem Boolean (true oder false) vergleichen. Äpfel kannst du auch nicht mit Birnen vergleichen.
Was also bei dir irgendwie richtig sein sollte (wobei nicht ganz klar ist, was du machen willst):
int dumm = 3;
public static void main(String[] args) {
if (dumm == 3) {
System.out.println("lol");
}
}
"Lol" wird dann nur ausgegeben, wenn die Variable dumm den Wert 3 enthält.
Zudem versuchst du, in der CMD eine unkompilierte Datei mit Java auszuführen. Java muss erst zu .class-Dateien kompiliert werden und kann erst dann ausgeführt werden. Das machst du dann mit dem Befehl javac:
javac dumm.java
Danach die generierte .class-Datei starten:
java dumm
Ich weiss nicht, was du gerade versuchst, oder wo du das gelesen hast, ich würde dir aber auf alle Fälle einen gescheiteren Editor empfehlen (Notepad++ ist nicht mehr wirklich zeitgemäss). Schau dir Eclipse oder IntelliJ an. Bei so ziemlich jedem Anfängertutorial wird eines der beiden benutzt und auch erklärt.
if(int = true) macht mal gar keinen Sinn.
int ist ein Datentyp und keine Variable somit macht die Verwendung im if Statement keinen Sinn.
= ist zudem eine Zuweisung einen Wahrheitsvergleich machst du mit ==
Ein if Einzeiler den du direkt mit ; abschließt geht zwar hat aber keinen Effekt, du musst danach einen Block öffnen der diesem if zugewiesen wird.
ein Integer kann nur Zahlen annehmen und nicht den Wert true womit auch dieser Vergleich nicht geht. Was geht wäre:
int zahl = 1;
if(zahl != 0)
{
//wird ausgeführt wenn Zahl ungleich 0 ist.
}
fehler... erns int sind zahlen 2. if (int = ..) total dämlich weil eh nur fehler
3. = true ist falsch wenn dann == true weil abfrage und nicht zuweisung