Wie kann ich die Ausgabe der hundert und Jugendliche zahlen in Worten in meinem Programm
Ich brauche Hilfe, um meine hundert und Jugendliche Anzahl in Worten. Zum Beispiel, wenn ich eingeben, 116. Mein Programm wird ausgeben Ein hundert und Sechs, statt der hundert und sechzehn. Alle anderen zahlen, die ich Eingangs-außer für die teens zahlen.
- Jede Hilfe, die ich empfangen kann, sind sehr willkommen
- Bitte formatieren Sie Ihren code, um die ordnungsgemäße Verwendung der Einrückung. Dein Code ist extrem schwer zu Folgen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich ändern würde 4 Dinge in Ihrem code:
Erste:
Verwenden
int
stattdouble
für Ihre EingabeZweite:
Damit erhalten Sie die entsprechende Ziffer Praktika in
int
verwenden:statt:
Dritte:
Den
else
Bedingung für die 110-119 Bereich sein muss, bevor der 100-999 (was technisch sollte 120-999)Viertens:
Ihre teenager-Methode ist die Einnahme der original numInput als parameter.
Was Sie brauchen, zu nehmen, ist die
onesDigit
zu bestimmen, welche "teen" ist esAlso es sollte ein Aufruf wie:
Dieser Aufruf muss geändert werden in [10-19] Bedingung und [110-119] Zustand
Und Ihre teens neue Methode sollte so Aussehen:
Das geschieht, weil man prüfen, ob die Zahl im Bereich [100, 999], bevor Sie überprüft haben, dass es im Bereich [100, 119], ändern Sie die Reihenfolge der ifs, und es wird gut funktionieren.
Start von der kleinsten Zahl bis zur höchsten beim Vergleich.
Erste Bedingung:
Zweite:
Dritte:
Viertens:
Sollte man die
Klausel vor mehr inclusive
Was hier passiert ist, dass der Bereich größer wird zuerst durchsucht, und Ihre
tens
Funktion nichts ausgibt für1
.Ihre else if
gesetzt werden müssen, eine Ebene höher... Da die
wird auch die Bedingung erfüllen, die mit "116", die Sie eingegeben haben, werden es nie erhalten...
Nur für den Fall, wan du dieses nicht, Ich wollte nicht schreiben das:
Das war Spaß. Es hat die folgenden Probleme:
-Befasst sich nur mit Ganzzahlen. Keine longs, doubles etc.
-Nicht um den einzigen Fall von null.
-Nicht bei Integer.MIN_VALUE, weil die Zahl = Zahl * -1
Ansonsten scheint es zu funktionieren. Die motivation war, dass ich kann es nicht ertragen riesige Blöcke von "if-else" - code.