Frage von RexonTV, 9

Kann mir jemand sagen wieso das nicht geht (siehe Details)?

mit Java programmiert, darf nur if verwenden

public class ZahlenInWorten {

public static void main(String[] args) {

    String sZahl = "";
    int z;
    int z0, z00;
    int iZahl = 0;
    z0 = iZahl % 10;
    z00 = iZahl / 10;

    if (iZahl == 0) {
        sZahl = "null";
    } else {
        if (iZahl == 11) {
            sZahl = "elf";
        } else {
            if (iZahl == 12) {
                sZahl = "zwölf";
            }

            if (z0 == 1) {
                sZahl = "ein";
            } else {
                if (z0 == 2) {
                    sZahl = "zwei";
                } else {
                    if (z0 == 3) {
                        sZahl = "drei";
                    } else {
                        if (z0 == 4) {
                            sZahl = "vier";
                        } else {
                            if (z0 == 5) {
                                sZahl = "fünf";
                            } else {
                                if (z0 == 6) {
                                    sZahl = "sechs";
                                } else {
                                    if (z0 == 7) {
                                        sZahl = "sieben";
                                    } else {
                                        if (z0 == 8) {
                                            sZahl = "acht";
                                        } else {
                                            if (z0 == 9) {
                                                sZahl = "neun";
                                            }

                                            if ((z00 > 1) && (z0 > 0)) {
                                                sZahl += "und";
                                            }

                                            if (z00 == 1) {
                                                sZahl += "zehn";
                                            } else {
                                                if (z00 == 2) {
                                                    sZahl += "zwanzig";
                                                } else {
                                                    if (z00 == 3) {
                                                        sZahl += "dreißig";
                                                    geht bis neunzig 

und dann System.out.println("Zahl:" + sZahl); und dann nocht die ganzen Klammern also es zeigt keine fehler an aber das Ergebniss ist null also es erscheint nichts

Antwort
von androhecker, 6

Wieso sollte was anderes raus kommen? Deine Zahl ist 0, also kommt "null" raus.

Aber mal ehrlich, erstens ist es hier komplett schwachsinnig ein ewiges if Statement zu verwenden und zweitens solltest du dann zumindest auch else if verwenden, sonst werden die Zeilen viel zu lang.

Richtig wäre hier ein Array, und man sollte bei größeren Zahlen (über 20) die Ziffern aufteilen und das Wort dann zusammensetzen.

Kommentar von RexonTV ,

ja ich weiß dass es schwachsinnig ist aber ich muss es so machen und es gibt immer noch nicht hab es mit 11 ausprobiert und mit anderen Zahlen aber es gibt kein ergebniss :(

Kommentar von androhecker ,

Nun, du solltest else if's verwenden, dann wird der Code wenigstens übersichtlicher.

Kommentar von RexonTV ,

ja ich habe ja jedes mal if und dann else und wieder if oder was meinst du ??????

Kommentar von androhecker ,

Noch nie was von else if gehört? if (Kondition) {...} else if (Kondition) {...} etc

Antwort
von kartoffelx86, 4

iZahl bleibt ja auch bei dir 0. Versuche mal den wert von iZahl zu verändern ;)

Kommentar von RexonTV ,

hab ich geht immer noch nicht :((

Antwort
von SmilingShisha, 6

Ich muss gestehen, dass mir das zu viel ist. Aber mir ist oben aufgefallen:

 if (z0 == 1) {
sZahl = "ein";
} else {
if (z0 == 2) {
sZahl = "zwei";

du hast dort "ein" stehen, sollte es nicht "eins" heißen??? Glaube zwar kaum, dass das was ändert, aber wer weiß... xd

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten