Zum Inhalt springen

Wörter in Zahlen konvertieren


Empfohlene Beiträge

Geschrieben

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.

(B) 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).

Geschrieben

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

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...