Java Taschenrechner funktioniert nicht?

4 Antworten

Scan NextLine nimmt Eingaben aus dem Tastaturpuffer.

Das Drücken der Entertaste könnte dort noch Dinge übrig lassen, die in deiner Variable weg landen.

Schreib deine Eingaben so um, dass sie das eingegebene auf Plausibilität prüfen, beispielsweise bei den Zahlen, ob sie nach Float konvertiert werden können oder ob Weg einer deiner erlaubten Rechenoperationen ist.

Der einfachste Fall ist eine Endlosschleife um die Abfrage, die bei richtig erkannter Eingabe mit einem Break beendet wird.

nextLine() durch next() ersetzen oder hinten das nextInt() ein nextLine().

Unterschied von nextLine() zu next() findest du im Internet also werde ich das hier nicht weiter erläutern.

Variablen im camelCase wäre noch gut.

Also statt "Scan" -> "scanner" verwerden.

Woher ich das weiß:eigene Erfahrung – Software Entwickler + Hobby
Selveter323211 
Fragesteller
 29.04.2022, 12:19

vielen dank, hat jetzt geklappt! Aber wozu "Scan" durch "scanner" ersetzen?

0
ItzeKhanh  29.04.2022, 17:40
@Selveter323211

Such am besten die Namenskonventionen von Variablen für Java in Google.

Kurz und knapp:

Variablennamen sollten immer im camelCase geschrieben werden (erster Buchstabe klein und jedes neue Wort mit Großbuchstabe z.B. StuhlMitHaus).

Statische Variablen sollten in CAPSLOCK geschrieben sein und Wörter mit unterstrichen getrennt sein.

Mehr und umfangreiche Informationen wirst du besser googlen. Stichwort: Variablen Namenskonventionen java, Naming convention java,....

Kannst auch "scan" verwenden, aber dann weiß man nicht zwangsläufig was diese Variable ist wenn man nur auf den Namen schaut.

0

Ich glaube das liegt daran, dass du Scan großgeschrieben hast probier

Scanner scan = new Scanner(System.in);

Und weg hat muss String oder Int sein vllt also dann anstatt scan.nextLine();

scan.nextInt(); (wenn es ein integer ist)

Und

scan.next(); (wenn es ein String ist)

Woher ich das weiß:Hobby – Ich programmiere Python, Java
Selveter323211 
Fragesteller
 29.04.2022, 12:22

Hat geklappt! Aber warum "Scan" klein schreiben also wieso macht das ein Unterschied?

0
regex9  29.04.2022, 13:24
@Selveter323211

Funktional macht es keinen Unterschied, ob du Variablen in Groß-/Kleinbuchstaben schreibst, so lange du konsistent bleibst (d.h. scan und Scan wären zwei unterschiedliche Symbole).

Allerdings wäre es vorteilhaft, wenn du dir übliche Java Code-Konventionen aneignest. Dies vereinfacht das Lesen des Codes und reduziert auf diesen Weg auch potenzielle Fehlerquellen. Komplexe Typen erkennt man bspw. normalerweise an einen Großbuchstaben am Anfang (Bsp.: Scanner). Variablen hingegen starten normalerweise mit einem Kleinbuchstaben und grenzen sich somit von den zuvor genannten Symbolen ab.

Lies bezüglich üblicher Namenskonventionen hier.

1

ich würde glatt behaupten das nextLine mit \n (Eingabebestätigungstaste) zeichen am ende ist .

also musst du das erstmal entfernen .