Veröffentlicht 2. Oktober 200321 j Also, ich habe eben von meiner Ausbilderin eine neue Aufgabe bekommen mit der ich nicht klar komme. Da ich nicht besonderst gut programieren kann(das hört sich noch fast zu gut an) bitte ich euch mal wider um Unterstützung. Als Tip hat sie mir nur gegeben, dass ich das ganze am besten mit switch/case realisiere. Hier die Aufgabe, wobei b erst mal nicht wichtig ist: (a) Schreiben Sie ein Programm, das Zahlwerte in Wörter konvertiert (z.B. 895 soll die Bildschirmausgabe „Acht neun fünf“ ergeben. Hinweis: Zugriff auf einzelne Stellen eines Strings ist mit der Methode <stringname>.charAt(n) möglich. n gibt die Position von 0 bis Stringende an. Die Länge eines String kann mit der Methode <stringname>.length() ermittelt werden. ( Modifizieren Sie das Programm aus a) so, dass z.B. der Zahlwert 85 nicht „acht fünf“ sondern „fünfundachtzig“ ergibt (Lösung für die Zahlen 0 bis 100).
2. Oktober 200321 j Moin, ich könnte mir das in einer Schleife vorstellen. Sie läuft so oft, wie der String lang ist. In jedem Durchlauf holst du dir denn Wert des Strings an Position "Nummer des Durchlaufes" und lässt ihn durch einen Switch laufen. Wenn die Zahl "1" ist lässt due "Eins" ausgeben. usw. Gruß, Peter
2. Oktober 200321 j Moin, mmhhh. Die "for"-Schleife kennst du ja schon aus dem "durschnittswert errechnen" Programm. Bei <stringname>.charAt(n) tauscht du das "n" mit der variablen aus, die in der Schleife hochgezählt wird. Im Bsp. ist es i. for (int i = 0; i < <stringname>.lenght(); i++) { } Somit erhälst du pro Schleifendurchlauf einen Char mit der Zahl. Dieses Char castest du auf "int", bzw. versuchts es. Ich weiß nicht genau wie das geht, aber du kannst eine variable vom Typ "int" dekalrieren und ihr den Wert vom char - 48 zuzuweisen. ("int zahl = <char> - 48;"). Dies ist unelegant, kenne aber momentan keine andere, schnelle Lösung. Jetzt kommt der Switch. switch () { case : break; case : break; default: break; } In die Klammer packst du den zu überprüfenden Wert. Hinter jedes "case" schreibst du eine Zahl, bis du alle von 0-9 hast. Hinter den Doppelpunkt kannst du dann das System.out schreiben, welches den Wert als Wort repräsentiert. Genug verraten. Gruß, Peter
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.