Java Anfänger frage, Hilfe?

...komplette Frage anzeigen

7 Antworten

Habt ihr überhaupt schon mal einfache Ein- und Ausgaben sowie ganz einfache Rechenoperationen durchgeführt, um erst mal irgendwas in Java ans Laufen zu kriegen?

Wenn nicht, halte ich das "Abziehen" der Mehrwertsteuer für verfrüht.

Wenn ja, wiederhol noch mal Eingabe von Zahlenwerten und Multiplikation von Gleitkommaausdrücken.

Was das "Abziehen" der Mehrwertsteuer betrifft - hier hilft nur auswendig gelernte Prozentrechnung oder/und algebraisches Verständnis von dem, was beim "Hinzuzählen" der Mehrwertsteuer wirklich passiert.

Antwort bewerten Vielen Dank für Deine Bewertung

Bitte vorab:

String eingabe;
Scanner Eingabe

Bitte: Variablen-Namen immer klein schreiben. Und erst recht nicht doppelt.

Nun zu deinem Problem:

Deine Benutzereingabe ist ein String-Wert, entsprechend solltest du aus diesem Stringwert einen double wert machen, mit dem du dann auch rechnen kannst. (Siehe: DecimalFormat / Double.parseDouble ).

dies speicherst du in einer neuen Double-Variable, die du dann zur Berechnung verwenden kannst.

Anschließend kannst du diesen Double Wert normal ausgeben lassen.

Antwort bewerten Vielen Dank für Deine Bewertung

Dieser Code hat mehrere Probleme

1. Mit Strings kann man nicht rechnen

Deine Eingabe kommt in Form eines Strings, den kann man natürlich nicht multiplizieren. Entweder liest du den Wert mit einer Parse Funktion wie Double.parseDouble() oder du benutzt gleich die nextDouble() Methode des Scanners. Falls die Eingabe kein Double Wert ist, wird bei der ersten Methode eine NumberFormatException geworfen, bei der Zweiten eine InputMismatchException.

2. Variablenbennenung

Ein Variablenname vorne groß zu schreiben ist ein No-Go, genauso sollte man nicht zwei mal den fast gleichen Name benutzen.

3. Dezimalzahlen immer mit Punkt

Das Komma findet andere Verwendungen, bei Dezimalzahlen benutzt man einen Punkt und kein Komma.

Antwort bewerten Vielen Dank für Deine Bewertung

Mal abgesehen von dem Problemen mit dem String als Eingabe usw., die Dir hier schon erklärt wurden, solltest Du die mathematischen Grundlagen beherrschen.
Um die Mehrwertsteuer vom Eingabe-Betrag abzuziehen (wie in Deinem Text beschrieben) lautet die Rechnung:

Eingabe/ 1,19

um sie auszuweisen (wie im Text Deiner println):

Eingabe /1,19*0,19

Oder liege ich da jetzt falsch?
Meine letzte Mathestunde ist schon -zig Jahre her.



Antwort bewerten Vielen Dank für Deine Bewertung

Als erstes solltest du dir mal "naming conventions" ansehen. (Variablennamen klein usw).

Zweitens ist das Problem, dass "eingabe" ein int ist, 0.19 aber nicht (bachte: . statt , !). Du musst als "eingabe" als double casten:

(double) eingabe * 0.19

Antwort bewerten Vielen Dank für Deine Bewertung

Versuche mal den Variabeln Typ von Eingabe zu einem Double zu machen weil du ja ihn MAL 0.19 (also einen Double) mavhst! Einen String kannst du NICHT multiplizieren!

Antwort bewerten Vielen Dank für Deine Bewertung

Welcher Datentyp ist eingabe denn? Vermutlich double. Schreib also:

double eingabe = Eingabe.nextDouble();

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?