Hallo Leute!
Ich bin neu hier, mein erstes Post und ich hoffe, dass der Eine oder Andere mir ein bisschen weiterhelfen kann. Ich hab schon ein bisschen rumgestöbert und finde die Seite echt Klasse!
Also ich habe gerade das 1. Semester and der FH angefangen und wir haben ein paar Aufgaben für Java bekommen. Ich bin seit zwei Wochen dabei. HalloWorld, etc. kennen bestimmt schon einige von euch, war auch alles bis jetzt kein Problem. Einer der Aufgaben die mir Schwierigkeiten gibt, ist einen Übersetzer zu bauen, der ganzzahlige Zahlen zwischen -999 bis 999 in Worten übersetzt, wie neunhundertneunundneunzig.
Also mit if/else hatte ich guten Erfolg wenn es um einen Schaltjahrrechner geht, aber diese Aufgabe bricht mir gerade das Genick. Hier nochmal die Aufgabenstellung:
Ziel ist es, dass Sie die Mehrfachauswahl in der Praxis einsetzen.
Schreiben Sie ein Programm, dass eine ganzzahlige Zahl (zwischen - 999 und 999) einließt
und entsprechend die Zahl als Text wieder ausgibt.
Beispiel:
Eingabe: -99
Uebersetzung: minus neunundneunzig
Meine Überlegung war, dass man ja eigentlich aus einer Kombination von circa. 20 Variablen eigentlich alle Zahlen darstellen kann. Beispiel:
a - Null
b- ein
c- eins
d- zwei
[...]
zehn
zig
und
hundert
...
etc...
man könnte z.B. die Zahl 854 aus "acht"+"hundert"+"vier"+"und"+"funf"+"zig". Also wie Bausteine die sich austauschen lassen.
Dann hab ich mir überlegt wie ich am schnellsten an die Kombination komme, da fiel mir ein, dass ich mal etwas über ein Algoritmus gehört habe. der z.B. durch Halbierung (Telefonbuch) innerhalb 15 Schritten einen Namen finden kann, aus einen Telefonbuch mit 25,000 Einträgen. Vielleicht kann man mit if und else so etwas aufbauen und dann mit den Variablen kombinieren.
Beispieleweise..
if (Eingabe >999)
if (Eingabe <999)
if (eingabe <500)
if (........)
else
else
else
ich kann zwar schnell auf die Zahl kommen, denn 2000 lässt sich ja in elf Schritten auf eins halbieren, aber wie soll man dann die passenden Wörter einordnen? Ich möchte nur meine Idee damit mitteilen, ich bin sich das es eine Andere und viel leichtere Lösing dafür gibt, aber ich denke der Code wird zwangsweise lang, durch die Übersetzung der Wörter oder nicht? Keine Ahnung.. aber mein Java Wissen ist so limitiert, dass mir etwas besseres nicht einfällt.
Falls jemand ´ne Idee hat, ich würde gerne euren Code studieren, um daraus zu lernen. Ich freue mich schon hier aktiv mitzumachen! Danke.
MC
Ich bin neu hier, mein erstes Post und ich hoffe, dass der Eine oder Andere mir ein bisschen weiterhelfen kann. Ich hab schon ein bisschen rumgestöbert und finde die Seite echt Klasse!
Also ich habe gerade das 1. Semester and der FH angefangen und wir haben ein paar Aufgaben für Java bekommen. Ich bin seit zwei Wochen dabei. HalloWorld, etc. kennen bestimmt schon einige von euch, war auch alles bis jetzt kein Problem. Einer der Aufgaben die mir Schwierigkeiten gibt, ist einen Übersetzer zu bauen, der ganzzahlige Zahlen zwischen -999 bis 999 in Worten übersetzt, wie neunhundertneunundneunzig.
Also mit if/else hatte ich guten Erfolg wenn es um einen Schaltjahrrechner geht, aber diese Aufgabe bricht mir gerade das Genick. Hier nochmal die Aufgabenstellung:
Ziel ist es, dass Sie die Mehrfachauswahl in der Praxis einsetzen.
Schreiben Sie ein Programm, dass eine ganzzahlige Zahl (zwischen - 999 und 999) einließt
und entsprechend die Zahl als Text wieder ausgibt.
Beispiel:
Eingabe: -99
Uebersetzung: minus neunundneunzig
Meine Überlegung war, dass man ja eigentlich aus einer Kombination von circa. 20 Variablen eigentlich alle Zahlen darstellen kann. Beispiel:
a - Null
b- ein
c- eins
d- zwei
[...]
zehn
zig
und
hundert
...
etc...
man könnte z.B. die Zahl 854 aus "acht"+"hundert"+"vier"+"und"+"funf"+"zig". Also wie Bausteine die sich austauschen lassen.
Dann hab ich mir überlegt wie ich am schnellsten an die Kombination komme, da fiel mir ein, dass ich mal etwas über ein Algoritmus gehört habe. der z.B. durch Halbierung (Telefonbuch) innerhalb 15 Schritten einen Namen finden kann, aus einen Telefonbuch mit 25,000 Einträgen. Vielleicht kann man mit if und else so etwas aufbauen und dann mit den Variablen kombinieren.
Beispieleweise..
if (Eingabe >999)
if (Eingabe <999)
if (eingabe <500)
if (........)
else
else
else
ich kann zwar schnell auf die Zahl kommen, denn 2000 lässt sich ja in elf Schritten auf eins halbieren, aber wie soll man dann die passenden Wörter einordnen? Ich möchte nur meine Idee damit mitteilen, ich bin sich das es eine Andere und viel leichtere Lösing dafür gibt, aber ich denke der Code wird zwangsweise lang, durch die Übersetzung der Wörter oder nicht? Keine Ahnung.. aber mein Java Wissen ist so limitiert, dass mir etwas besseres nicht einfällt.
Falls jemand ´ne Idee hat, ich würde gerne euren Code studieren, um daraus zu lernen. Ich freue mich schon hier aktiv mitzumachen! Danke.
MC