Azubi22 Geschrieben 2. Oktober 2003 Geschrieben 2. Oktober 2003 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). Zitieren
Morbid_Soul Geschrieben 2. Oktober 2003 Geschrieben 2. Oktober 2003 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 Zitieren
Azubi22 Geschrieben 2. Oktober 2003 Autor Geschrieben 2. Oktober 2003 Hört sich gut an. Nur weiß ich leider überhaupt nicht wie ich das machen soll. Zitieren
Morbid_Soul Geschrieben 2. Oktober 2003 Geschrieben 2. Oktober 2003 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.