Kann mir jemand bei dieser Java Anfänger Aufgabe helfen?


22.10.2022, 13:10

Screenshot dazu

2 Antworten

Auf Anhieb fällt mir auch kein Fehler auf. Ich vermute, dass die meisten nicht von Anfang an float verwenden und sie daher auch keine Dezimalzahlen eingeben können. Das hast du aber schon getan und deshalb kommt es auch bei dir nicht wie vielleicht bei den anderen zu einem Fehler.

Woher ich das weiß:Berufserfahrung – Softwareentwickler für Warehouse Logistics
scheint mir kein Problem aufzufallen

Wundert dich nicht, dass die Eingabe „1,7“ die Ausgabe „17.34“ erzeugt? Der Scanner verwendet deine persönliche Locale-Einstellungen, aber Float.toString() nimmt immer einen Dezimalpunkt.

oder habe ich einen Fehler in meinem Code?

Die verschiedenen Locales können verwirren. Du solltest

  • entweder den Scanner auf "C-Locale" setzen:
    read.useLocale(Locale.ROOT)
  • oder die Werte locale-spezifisch ausgeben:
    System.out.printf("Oberfläche: %.3f cm²", oberflaeche);

Cexjo 
Beitragsersteller
 22.10.2022, 16:25

Hallo, danke für die Antwort :) Ich bin davon ausgegangen, dass in Java das Komma immer als Punkt ausgegeben wird. Sprich, man verwendet bei der Eingabe zwar das Komma, jedoch wird dieses immer als Punkt ausgegeben. Wenn ich z.B. 0,9 in meinen Code schreiben will, dann schreibe ich dies doch auch als 0.9 oder nicht?