Frage von Emilstud, 39

Was ist in diesem Java Code falsch?

Hey, ich habe was in Java geschrieben, jedoch enthält der Code Fehler

Hier der Code:

public class Quader { public static void main(String[] args) { double mathe; double hoehe, breite , laenge; hoehe = JOptionPane.ShowInputDialog("Geben sie die Hoehe ein: "); breite = JOptionPane.ShowInputDialog("Geben sie die Breite ein: "); Laenge = JOptionPane.ShowInputDialog("Geben sie die Lanege ein: ");

    mathe = hoehe * breite * laenge;
    
    System.out.println(mathe);
    

}

}

Antwort
von AbbathFangirl, 21

Außerdem liest du mit "ShowInputDialog" nichts ein, sondern gibtst nur den Text aus, der im InputDialog stehen soll. Das ist wie, wenn du versuchst, ein System.out.println() einer Variablen zuzuweisen.

Zum einen macht das keinen Sinn, weil du der Methode "ShowInputDialog" einen String übergibst, welcher ja nicht in deine Double-Variable passt.

Zum anderen brauchst du halt ein Feld, wo du etwas einlesen kannst (z. B. TextField - weiß jetzt nicht die genaue Bezeichnung). Da werden aber nur Strings eingelesen, d. h. bevor du den eingelesenen String der Double-Variable zuweisen willst, muss du zunächst einen Typecast durchführen.

Ich würde dir raten, das ganze zunächst einmal über die Konsole einzulesen, statt gleich mit einer GUI, dann kannst du testen, ob eine Methoden so funktionieren, wie sie sollen und ob das mit dem Einlesen allews klappt.

Kommentar von AbbathFangirl ,
String hoehe_String = JOptionPane.showInputDialog("Geben sie die Hoehe ein: "); //den Input-Dialog einen String zuweisen
hoehe = Double.parseDouble(hoehe_String); //den eingelesenen String der Double-Variable hoehe zuweisen (mit Typecast)
System.out.println(hoehe); //zum Testen ausgeben
Kommentar von AbbathFangirl ,

Ach ja, wie ich jetzt merke, waren der erste und dritte Absatz meiner Antwort schlichtweg falsch, Sorry dafür...

Antwort
von AbbathFangirl, 21

Du deklarierst die Variable "laenge", versucht dann aber einer Variablen namens "Laenge" einen Wert zuzuweisen. Java ist Case Sensitive, das sind für den Compiler zwei verschiedene Variablen und "Laenge" ist nicht deklariert.

Antwort
von Mornamath, 15

ist das alles?  Kann es doch gar nicht sein...  Die Klasse hat sicherlich noch mehr Inhalt.  Poste doch mal alles hier.  Wenn das alles ist, ist es kein Wunder, das nichts funktioniert... Es fehlt doch schon zu aller erst einmal das JOptionPane, das du hier auch irgendwie auf eine seltsame Weise zu benutzen versuchst...

Poste erst einmal wirklich den gesammten Inhalt der Klasse. 

Hast du das geschrieben, oder ist das eine Aufgabe, aus irgendeinem Buch?  Wenn ja, in welchem Zusammenhang steht das ganze?

Antwort
von AbbathFangirl, 21

Was sagt denn der Compiler? Ist ja wie in ner Klausur, wo man Fehler im Code finden muss^^

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten