Beispiel Java umprogrammieren

melisax

Mitglied
7.3:

import java.util.Scanner;

class Wechselstube {

public static void main(String args[]) { Scanner keyboard = new Scanner(System.in);

int zweieuro, euro, fuenfzigcent, zwanzigcent, zehnicent, fuenfcent, zweicent, cent;

int rest, summe;

System.out.print("Wie viele Cent haben Sie? ");
summe keyboard.nextInt();

zweieuro = summe / 200;

rest= summe % 200;

euro = rest / 100;

rest = rest % 100;
fuenfzigcent = rest / 50;

rest=rest % 50;

zwanzigcent = rest / 20;

rest=rest % 20;

zehncent = rest / 10; rest=rest % 10;

fuenfcent = rest / 5;

rest=rest % 5;

zweicent = rest / 2;

rest rest % 2;

cent = rest;

System.out.println();

System.out.println("Sie bekommen " + summe + "Cent als:");

System.out.println(zweieuro + " 2-Euro-Münzen");

System.out.println(euro + " 1-Euro-Münzen");

System.out.println(fuenfzigcent + "50-Cent-Münzen"); System.out.println(zwanzigcent + " 20-Cent-Münzen");

System.out.println(zehncent + "10-Cent-Münzen");

System.out.println(fuenfcent + "5-Cent-Münzen");

System.out.println(zweicent + " 2-Cent-Münzen");

System.out.println(cent +1-Cent-Münzen");

keyboard.close();

}

Aufgabenstellung:
Wechselstube, Version 2

Ändern Sie den Code in Listing 7.3 so ab, dass es eine Zahl für die ganzen Euro und eine weitere Zahl für die Cent entgegennimmt. Anstatt beispielsweise 138 (für 138 Eurocent) einzugeben, gibt der Anwender 1 38 ein (1 Euro und 38 Eurocent).

Ich weiß nicht wie ich das umsetzen soll😅
 

Mart

Top Contributor
du trennst den scanner string beim leerzeichen auf und wandelst die beidne teile um oder rechnest sie zusammen in cent
 

Jw456

Top Contributor
Ich würde da wohl eher zwei Scanner Eingaben machen. Also den User auffordern die Euro einzugeben und dann ein neuer Scanner Aufruf für die Cent.
 

Mart

Top Contributor
Java:
1 38
das sollte eingegeben werden... jetzt kommt es ziemlich auf den wissensstand des TE an, wenn er keine String bearbeitung hatte sollte man es wohl mit scannern machen

wenn er die string bearbeitung schon hatte dann mit auftrennen
 

kneitzel

Top Contributor
Die Aufgabenstellung heißt getrennt entgegennehmen.
Das kann ich nicht erkennen in der Aufgabenstellung:
Ändern Sie den Code in Listing 7.3 so ab, dass es eine Zahl für die ganzen Euro und eine weitere Zahl für die Cent entgegennimmt. Anstatt beispielsweise 138 (für 138 Eurocent) einzugeben, gibt der Anwender 1 38 ein (1 Euro und 38 Eurocent).
Da steht ganz klar, dass zwei Zahlen eingegeben werden sollen und es wird ein Beispiel genannt.

Aber genau das lässt sich über beide Wege problemlos umsetzen.
 

temi

Top Contributor
Du solltest dir zunächst vergegenwärtigen, was Scanner macht. Das ist ganz wichtig! Schau dazu, z.B. in die Doku (Ich gebe allerdings zu, dass speziell die Doku zu Scanner Begriffe verwendet, die dir vermutlich noch nichts sagen werden). Wichtig ist gleich dieser Teil, ziemlich am Anfang:
A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods.

Der Scanner teilt also eine Eingabe in Tokens (einzelne Einheiten) auf, indem es ein Trennzeichen verwendet (standardmäßig ist es das Leerzeichen). Das als grobe Erläuterung.

Hast du also eine Zeichenkette "42 Hund" als Eingabe für den Scanner (z. B. als Konsoleneingabe) und rufst darauf nextInt() auf, dann liefert dir das zunächst eine 42 als Ergebnis. Rufst du noch einmal nextInt() auf, dann erhältst du einen Fehler, weil "Hund" kein Integerwert ist. Mit dem Aufruf von hasNextInt() könntest du vorher prüfen, ob das nächste Token ein Integer ist, bevor du nextInt() aufrufst, aber das ist hier nicht gefordert.

Damit solltest du das Problem nun lösen können.
 
Zuletzt bearbeitet:

temi

Top Contributor
Zwei Zahlen entgegennehmen heißt für mich vom User erfragen und in zwei Variablen Speichen. Ja das ist ein etwas missverständliches deutsch.
Schon richtig, aber darauf folgt ja gleich ein Beispiel dazu:
Anstatt beispielsweise 138 (für 138 Eurocent) einzugeben, gibt der Anwender 1 38 ein

Wenn wir aber über Unzulänglichkeiten der Aufgabe sprechen, dann sollte auch erwähnt werden, dass es nicht üblich ist, alle Variablen sofort am Anfang zu deklarieren (voll retro!). Guter Stil ist es eine Variable erst zu dem Zeitpunkt zu deklarieren, wenn sie benötigt wird. Darauf sollte man den LehrerIn mal hinweisen. Die Schüler werden ja stilistisch total verdorben ;)

Und natürlich sollte man den Scanner nicht schließen...
 

Jw456

Top Contributor
Schon richtig, aber darauf folgt ja gleich ein Beispiel dazu:
Ich denke wir warten was der TE oder besser der Lehre dazu sagt wie er die Aufgabe gemeint hat.

Eines möchte ich hier noch ergänzen.
In dem Code Beispiel wird die Eingabe vom Scanner in einen int gespeichert. Nicht in einen string somit ist das Thema Strings oberrationen schon mal raus.
Eine Eingabe mit einen freizeichen wird nicht in einen int geparst werden.
 
Zuletzt bearbeitet:

kneitzel

Top Contributor
Also mir fehlt hier langsam das Verständnis für die Aussagen. Um so mehr verwirrt mich @temi mit dem like von so einer Aussage.

In dem Code Beispiel wird die Eingabe vom Scanner in einen int gespeichert. Nicht in einen string somit ist das Thema Strings oberrationen schon mal raus.
Aber der Code soll umgeschrieben werden! Und da eben keine konkrete Aussage zu dem wie vorliegt, ist natürlich auch eine Alternative wie diese von Mart vorgestellt wurde, korrekt. Es gibt einfach kein Argument, diese Variante auszuschließen. Deine Aussage ist unverständlich, da Du dies ja prinzipiell schon selbst zugestanden hast mit der Aussage:
Ich denke wir warten was der TE oder besser der Lehre dazu sagt wie er die Aufgabe gemeint hat.

Und was willst Du uns mit dieser Aussage sagen:
Eine Eingabe mit einen freizeichen wird nicht in einen int geparst werden.
Das "Freizeichen" ist ein "Leerzeichen". Wenn Du es allgemeiner haben willst, dann wäre "Whitespace" ein Begriff, den man verwenden will. Ein Freizeichen gibt es beim Telefon! Und niemand wollte ein Leerzeichen in einen int parsen. daher scheint mir diese Aussage einfach fehl am Platz!

Man kann über Wahrscheinlichkeiten reden. Ja, ich halte die Lösung mit zwei nextInt auch für wahrscheinlicher. Aber das ändert dennoch nichts an der Tatsache, dass die andere Variante ebenfalls eine gültige Lösung ist.

Aber ich bin dann hier auch raus - denn diese Trivialitäten zu diskutieren macht einfach keinen Sinn!
 

kneitzel

Top Contributor
Um evtl. meine Position etwas tiefer zu erläutern:
Wenn ich Lehrer wäre, dann würde ich nicht nur Aufgaben stellen wo ich eine Lösung als richtig ansehen würde. Ich würde da immer etwas mehr an Möglichkeiten einbauen.

Diese Aufgabe wäre da sehr gut als Beispiel:
- Triviale Lösung: ein zweites getInt - das erwarte ich von jedem Schüler. Statt einer Zahl sollen zwei Zahlen eingelesen werden, also frage ich zwei Zahlen ab.
- gute Schüler haben aber die Chance sich zu profilieren. Wie verhält sich so eine Lösung denn? Jetzt gibt man nur eine Zahl ein und das System scheint zu stehen (weil es auf die zweite Zahl wartet). Scanner als Klasse wurde bereits verwendet. Da kann man also schauen, was man daraus machen kann. Also Zeile lesen, String auswerten. Wenn nur eine Zahl eingegeben wurde, dann wird nach einer zweiten Zahl gefragt oder so.

Hier kann ein Schüler also mit einer besseren Lösung durchaus punkten.

Und diese meine Sichtweise erklärt dann auch, wieso ich so Ablehnung gegenüber der "besseren" Lösung nicht nachvollziehen kann. (Besser in Quotes, da dies ja definiert werden muss: Was heisst besser?)
 

temi

Top Contributor
Um so mehr verwirrt mich @temi
Ich wollte eigentlich nur nichts mehr dazu schreiben und mein OK signalisieren, an dieser Stelle auf den TE zu warten, ob noch Fragen bestehen, denn es war alles gesagt, was zur Lösung notwendig ist. Vielleicht fehlt hier neben dem "Like" einfach noch ein "OK".

Leider zwingst du mich mich jetzt doch noch mal zu antworten.
 

Jw456

Top Contributor
Um evtl. meine Position etwas tiefer zu erläutern:
Wenn ich Lehrer wäre, dann würde ich nicht nur Aufgaben stellen wo ich eine Lösung als richtig ansehen würde. Ich würde da immer etwas mehr an Möglichkeiten einbauen.

Diese Aufgabe wäre da sehr gut als Beispiel:
- Triviale Lösung: ein zweites getInt - das erwarte ich von jedem Schüler. Statt einer Zahl sollen zwei Zahlen eingelesen werden, also frage ich zwei Zahlen ab.
- gute Schüler haben aber die Chance sich zu profilieren. Wie verhält sich so eine Lösung denn? Jetzt gibt man nur eine Zahl ein und das System scheint zu stehen (weil es auf die zweite Zahl wartet). Scanner als Klasse wurde bereits verwendet. Da kann man also schauen, was man daraus machen kann. Also Zeile lesen, String auswerten. Wenn nur eine Zahl eingegeben wurde, dann wird nach einer zweiten Zahl gefragt oder so.

Hier kann ein Schüler also mit einer besseren Lösung durchaus punkten.

Und diese meine Sichtweise erklärt dann auch, wieso ich so Ablehnung gegenüber der "besseren" Lösung nicht nachvollziehen kann. (Besser in Quotes, da dies ja definiert werden muss: Was heisst besser?)
Anstatt hier den Lehre zu Spielen solltest du vielecht selber mal abwarten was der TE dazu sagt.
 

kneitzel

Top Contributor
Entschuldigt, dass ich euch zwinge, zu antworten. Ud ich bin der Lehrer, aber @Jw456 ist kein Lehrer, wenn er eine valide Lösung als falsch darstellt. Irgendwie schon seltsame Welt ... Aber ich werde mich bemühen, euch weniger zu Antworten zu zwingen ...
 

temi

Top Contributor
Bei ihm scheinbar maschmal schon
Ich versuche zu deeskalieren und jetzt kommst du... ;)

Edit: Ich möchte noch ergänzen, dass ich die Beiträge von @kneitzel sehr schätze. Im Schriftverkehr ist es eben manchmal schwieriger seine Intention auszudrücken, so dass es auch zu Missverständnissen kommen kann.

Edit: Mir fällt auch gerade auf, dass der zweite Teil des Beitrags #12 nicht existierte als ich meine Zustimmung signalsierte. :(
 
Zuletzt bearbeitet:

kneitzel

Top Contributor
Also jetzt zwingt ihr mich, zu antworten? Oder wie? :)

Also irgendwie seltsame Posts von euch. Alleine schon so Aussagen wie "Es wird nichts so heiß gegessen wie es gekocht wird". Was wollt ihr mir hier unterstellen?

Wenn jemand etwas falsches schreibt, dann kann man darauf reagieren und es richtig stellen. Man kann gerne diskutieren, ob Aussagen richtig sein sollten. Vielleicht ist es für euch ja wirklich ok, wenn falsche Aussagen als solche stehen bleiben für alle anderen. Oder ob man richtige Begriffe verwenden muss. Aber die Diskussion bin ich nicht bereit zu führen. @Jw456 hat seine Sicht und die kann er auch gerne haben. Dann ist für ihn halt Module und Remainder das Gleiche (auch nach genauen Erläuterungen und Beispielen). Ja klar, das ist für die Meisten bestimmt dumm, aber es ist ok - halt seine Meinung.

Ich halte es für wichtig, Dinge richtig zu stellen. Wenn also jemand etwas schreibt, das erst einmal falsch scheint, dann antworte ich. Das ist jetzt lehrerhaft? Es wird negativ dargestellt? Und so eine Person bekommt Unterstützung? Ist ok, ich muss niemanden korrigieren. Dann stehen hier im Forum halt irgendwelche tollen Theorien wie IP Pakete angeblich laufen sollen oder so. :)

Ist wirklich ok, das Forum wird bestimmt von den Leuten, die aktiv sind. Und ich will niemanden ändern oder so. Macht einfach so, wie ihr es für richtig haltet. (Und es gibt ja Alternativen wie SO - wo sowas undenkbar ist. Qualitativ schlechte oder gar falsche Aussagen werden da - ohne Diskussionen - entsprechend abgewertet und gut ist es. Nur um aufzuzeigen, wie es auch geht.
 

kneitzel

Top Contributor
Und wo habe ich etwas schlimmer gesehen als es ist? Es geht um eine einfache Aufgabe, es sind zwei valide Lösungen gebracht worden und alles wäre gut ... sogar schon in #5 abgehandelt ... alles andere ist Schwachfug in den ich mich von einer Person hab reinziehen lassen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
T Java Beispiel Bitte helft mir Java Basics - Anfänger-Themen 5
razwed4ik zum Beispiel aus Java Insel Buch Java Basics - Anfänger-Themen 7
N Java Insel - RMI Beispiel Java Basics - Anfänger-Themen 12
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
marcooooo Kann mir jemand das Beispiel kurz erklären so ungefähr:/ Java Basics - Anfänger-Themen 7
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
C Beispiel-Code mit Pair wird nicht compiliert. Java Basics - Anfänger-Themen 8
B Webhooks verstehen - Beispiel? Java Basics - Anfänger-Themen 25
J For-Schleife (Beispiel) Java Basics - Anfänger-Themen 6
G Rekursion Beispiel Java Basics - Anfänger-Themen 3
H OOP, wie gehts richtig? (Beispiel von meinem Prof) Java Basics - Anfänger-Themen 6
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
F jscience Beispiel Java Basics - Anfänger-Themen 0
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
J Kompilieren von HelloWorld Beispiel schlägt fehl Java Basics - Anfänger-Themen 7
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
M Frage zum generellen Verständiss von OO an einem Beispiel Java Basics - Anfänger-Themen 4
L GridLayout, Beispiel? Java Basics - Anfänger-Themen 2
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
L Beispiel Projekte Java Basics - Anfänger-Themen 3
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
J Interface Frage zu Interfces am Beispiel Observer Pattern Java Basics - Anfänger-Themen 8
T Erste Schritte für was steht das "this" in dem Beispiel... Java Basics - Anfänger-Themen 2
B Grundlagen von Methoden an folgendem Beispiel Java Basics - Anfänger-Themen 52
E Polymorphie Beispiel Polymorphie Java Basics - Anfänger-Themen 2
M Threads am Beispiel Parkhaus Java Basics - Anfänger-Themen 10
G OOP Beispiel Objekte zugreifen Java Basics - Anfänger-Themen 3
M Suche Beispiel-Spiel Java Basics - Anfänger-Themen 3
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
A Frage zu Beispiel eines Dekorierers von InputStream Java Basics - Anfänger-Themen 4
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
P wie oop an diesem beispiel verbessern? Java Basics - Anfänger-Themen 31
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
P Datentypen Warum würde dieses Beispiel nicht funktionieren? Java Basics - Anfänger-Themen 6
V KeyListener Beispiel Java Basics - Anfänger-Themen 13
S Objektidentität und gleichheit an diesem Beispiel Java Basics - Anfänger-Themen 7
S Komposition beispiel anhand eines kopierers Java Basics - Anfänger-Themen 4
M Gutes Beispiel für Exception- werfende & behandelnde Methode Java Basics - Anfänger-Themen 5
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
b101 OOP Beispiel Klausur Aufgabe der FH Java Basics - Anfänger-Themen 22
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
V Präinkrement Beispiel Java Basics - Anfänger-Themen 14
M Swing Beispiel Java Basics - Anfänger-Themen 2
M [Einfaches Beispiel] Problem mit innere Klassen Java Basics - Anfänger-Themen 4
M Beispiel-Webprojekt: Statt HSQLDB Postgres verwenden Java Basics - Anfänger-Themen 12
M Serialisierung erstes Beispiel Java Basics - Anfänger-Themen 4
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
M Data Access Object - Beispiel Java Basics - Anfänger-Themen 11
M Beispiel für Linked List Java Basics - Anfänger-Themen 9
A programmier beispiel Java Basics - Anfänger-Themen 18
A ausgabe eines arrays - einfaches beispiel Java Basics - Anfänger-Themen 4
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
Q POI Beispiel Programme Java Basics - Anfänger-Themen 2
J Das schöne Bouncing Ball Beispiel. Java Basics - Anfänger-Themen 20
J Plymorphismus - unklarheit zu einem Beispiel Java Basics - Anfänger-Themen 6
S Gutes Beispiel für Vererbung? Java Basics - Anfänger-Themen 14
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
M Brauche ein Beispiel für eine set() get() Methode Java Basics - Anfänger-Themen 4
M Komische Syntax bei Double-Buffering-Beispiel Java Basics - Anfänger-Themen 2
M Brauche Hilfe bei Beispiel. Java Basics - Anfänger-Themen 4
S Beispiel für abgestufte Preisliste Java Basics - Anfänger-Themen 2
S Wrapper-Pattern Beispiel Java Basics - Anfänger-Themen 2
S Model-View-Controller Konzept Beispiel Java Basics - Anfänger-Themen 11
E Fehler im Beispiel? Java Basics - Anfänger-Themen 3
B Was ist falsch an dem beispiel? Java Basics - Anfänger-Themen 4
M Beispiel für sinnvolles finally? Java Basics - Anfänger-Themen 17
B schon beim einsteiger-beispiel durchgefallen. Java Basics - Anfänger-Themen 2
M Einfache HTML Mail versenden , suche Beispiel Java Basics - Anfänger-Themen 5
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4
G Rekursiv-Beispiel; Wer erklärt mir... Java Basics - Anfänger-Themen 9
H Beispiel für Schriftfarben Java Basics - Anfänger-Themen 8
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
M Java auf Raspberry Pi Java Basics - Anfänger-Themen 78
M Java Gui Java Basics - Anfänger-Themen 11
M Java Array Java Basics - Anfänger-Themen 8
R Ist es möglich, ein Zahlungs-Gateway mit Java zu bauen? Java Basics - Anfänger-Themen 11
M Java FX Java Basics - Anfänger-Themen 1
M Java Website Java Basics - Anfänger-Themen 2
T Java Integer multiplizieren Java Basics - Anfänger-Themen 6
I Argumente einer Java Methode Java Basics - Anfänger-Themen 14
M Java Liste streamen Java Basics - Anfänger-Themen 10
A Java, verarbeitung eines xml-files Java Basics - Anfänger-Themen 2
M Type Erasure in Java Java Basics - Anfänger-Themen 12
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
B Java Programm soll mit Python kommunizeren Java Basics - Anfänger-Themen 1
M Java Backend Java Basics - Anfänger-Themen 74
mihe7 Konstante in Java Java Basics - Anfänger-Themen 58
Kotelettklopfer Java und das leidige Thema "wording" Java Basics - Anfänger-Themen 61
thor_norsk Datentypen unter Java Java Basics - Anfänger-Themen 3
H Java NullPointerException Java Basics - Anfänger-Themen 4
M JAVA Programm in Website einbinden Java Basics - Anfänger-Themen 19
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben