Java: Warum dieser Fehler ("incompatible types: int cannot be converted to boolean")?
int zahl = (int)(Math.random() * 10 + 1);
int zahl2 = NumberField.getInt();
if (zahl = zahl2) {
jLabel2.setText("GEWONNEN");
}
else {
jLabel2.setText("VERLOREN");
}
Die Fehlermeldung:
error: incompatible types: int cannot be converted to boolean
if (zahl = zahl2) {
^
(Wenn die beiden Zahlen gleich sind, dann ...)
3 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Du nutzt einen arithmetischen Operator, musst aber einen boolschen Vergleichsoperator nehmen.
Heißt übersetzt:
"=" ist für Rechnungen und Initialisierungen.
"==" ist für Vergleiche.
Woher ich das weiß:Studium / Ausbildung
zahl1 = zahl2 ist eine Zuweisung.
zahl1 == zahl2 ist ein Vergleich. ;)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, Java
== für Vergleiche.
if (zahl1 == zahl2) {
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf