Java fehler für boolean?

3 Antworten

Er zeigt dir einen Fehler an, weil du als Kondition bei der else-if-Abfrage versuchst, einen neuen boolean namens "regen" mit dem Wert "true" zu erstellen. 

Es gibt aber schon eine Variable mit diesem Namen, deshalb müsstest du nur "regen = true && ... " für die ZUWEISUNG schreiben. Diese hat als Rückgabewert den Wert der Zuweisung, hier also immer true. 

Da du aber den Wert vergleichen willst, musst du "regen == true && ..." setzen. == ist der Vergleichs-Operator in Java. 

Da du aber einen Boolean vergleichst, kannst du auch einfach nur "regen && ..." nutzen

Da sind mehrere Fehler drin. Du hast regen schon einmal erklärt.

Wenn Du noch einmal "boolean regen = true" schreibst, wird regen noch einmal erklärt. Außerdem heißt es bei der Abfrage "==".

Da regen bereits boolean ist, schreibst Du einfach if (regen && ...)

Ich habe jetzt keine Lust, Deinen breit gezogenen Code tausend mal hin und her zu schieben, aber ich glaube, vor dem "if" fehlt eine geschweifte Klammer. Wenn nicht, ist auch gut.

37

Es fehlt keine geschweifte Klammer, aber ich hätte eine geschw. Klammer-auf gesetzt, dann hätte ich am Ende noch eine geschw. Klammer-zu setzen müssen.

0

Richtig ist:

else if (regen == true &&.....)

oder es reicht auch schon:

else if (regen &&.....)

Java: Wo ist da der Fehler?

Hi, ich suche jetzt seit einer Stunde den Fehler, aber finde keinen. Vielleicht könnt ihr mir ja weiterhelfen.

import javax.swing.JOptionPane;

public class Zahlentest {
  public static void main(String[] args) {
    double Zahl;
    boolean istNegativ;
    eingabe = JOptionPane.showInputDialog("Geben sie ihre Zahl ein:");

    if (Zahl < '0') {
      istNegativ = true;
    }
    else {
      istNegativ = false;
    }

    if (istNegativ == true) {
      JOptionPane.showMessageDialog (null, Zahl + " Die Zahl ist negativ");
    }
    else {
      JOptionPane.showMessageDialog ( null, Zahl + " Die Zahl ist nicht negativ");
    }
  }
}

Der Compiler sagt das:

Zahlentest.java:9: error: cannot find symbol
eingabe = JOptionPane.showInputDialog ("Geben sie ihre Zahl ein:");
^
 symbol:  variable eingabe
 location: class Zahlentest
Zahlentest.java:11: error: cannot find symbol
Zahl = eingabe;
    ^
 symbol:  variable eingabe
 location: class Zahlentest
2 errors
...zur Frage

Primzahlen berechnen in Java?

Hallo,

ich versuche derzeit ein Programm zu schreiben, das mir Primzahlen errechnet. Es lässt sich auch fehlerfrei kompilieren, aber Primzahlen kommen keine raus. Anscheinend wird das Ergebnis automatisch abgerundet. Ich wäre sehr froh, wenn ihr mir den Fehler (oder die Fehler :-) ) aufzeigen könntet oder mir eine bessere Methode schreiben würdet.

public class Primzahlen {
 public static void main (String[] args) {
  int Zahl = 13;
  double d1;

  for(int i = 2; i < Zahl; i++) {
   d1 = Zahl/i;
   int i1 = (int) d1;
   System.out.println(d1-i1 + "  Ergebnis " + Zahl+ "/" + i + ": " + d1 + "  Zahl: " + Zahl + "  Divisor:  " + i);

   if ((d1 - i1) == 0.0) {
    System.out.println(Zahl + " ist keine Primzahl, sie ist durch " + i + " teilbar.");
    break;
   } else {
    if ((i+1) == Zahl) {
     System.out.println(Zahl + " ist eine Primzahl");
     break;
    }
   }
  }
 }
}

Kompilierte Version und Quellcode: http://db.tt/nRNKnOQ2

...zur Frage

Kann mir wer bei einer Java Aufgabe mit einem 2D Array helfen? Danke

Die Aufgabe ist, dass ich eine Methode schreiben soll, welche ein 2D boolean Array und einen ganzzahligen Faktor f>1 übergeben bekommt. Das Array ist quadratisch und mit true oder false Werten befüllt. Nun soll es in der Methode um den Faktor vergrößert werden und natürlich dementsprechend auch befüllt werden.

Mein Code funktioniert komischer weise nur für den Faktor 2:

public static boolean[][] magnify(boolean[][] q, int f){

    boolean bla =true ;
    int l= q.length;

    boolean[][] newQ = new boolean[l*f][l*f];

    for(int i = 0; i<l; i++){
        for(int j= 0; j<l; j++){

            if(q[i][j]==true){
                newQ[i*f][j*f] = true;
                bla=true;
            }

            else{
                newQ[i*f][j*f] = false; 
                bla = false;
            }

            for(int k=i*f; k<(i+1)*f; k++){
                for(int y=j*f; y<(j+1)*f; y++){
                    if(bla=true)
                        newQ[k][y]= true;
                    else
                        newQ[k][y] = false;
                }
            }
        }
    }


    return newQ;

}
...zur Frage

wir bearbeiten derzeit boolean und seine operatoren, diese habe habe ich auch gedacht zu verstehen, aber ich tue mir bei folgenden Code schwer?

 public boolean kontoStand(float betrag){
       boolean positiv = true;
       if(kstand<=0||betrag>kstand) {
           positiv =! positiv;
           return positiv;
       }
       else
       {
           kstand = kstand + betrag;
           return positiv;
       }
}

Diese Methode überprüft über boolean die variable positiv (kann nur true oder false sein). Diese ist true, also wahr wenn die die If-Bedingung (Wenn kontostand kleiner 0 oder betrag größer Kontostand ist) erfüllt ist. Aber wie ist das mit "positiv =! positiv" und dem return gemeint?

...zur Frage

Java, String via Terminal/Konsole einlesen?

Hallo, ich bin grade an einem Programm dran und verzweifle an der Eingabe von Strings durch die Konsole bzw. das Terminal.

  1. Versuch: import java.util.Scanner;

public class asdf {

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    String input = scanner.nextLine();
    if(input == "Hallo") {
        System.out.println("Hey !");
    }
}

} 2. Versuch:

public class asdf {

public static void main(String[] args) {

    if(args[0] == "Hallo") {
        System.out.println("Hey !");
    }
}

}

Der endgültige Code sieht in etwa so aus: package Vererbung;

public class Tier2 {

public static void main(String[] args) {

    // Tier t = new Tier();
    Hund h = new Hund();
    Spinne s = new Spinne();
    Fisch f = new Fisch();
    
    if(args[0] == "Hund") {
        
        System.out.println(h.Antwort() + ", " + h.Rasse());
        
    } else if(args[0] == "Spinne") {
        
        System.out.println(s.Antwort() + ", " + s.Rasse());
    
    } else if(args[0] == "Fisch") {
        
        System.out.println(f.Antwort() + ", " + f.Rasse());
    }
    
}

}

Wie kann ich nun Strings einlesen ? Alle meine Versuche sind gescheitert.

Ich bin dankbar jeden hilfreichen Kommentar, liebe Grüße :)

...zur Frage

Was möchtest Du wissen?