0

私は初心者の Java コースを行っており、メソッドに取り組んでいます。私の課題は、入力された 1 ~ 999 の数字を単語として出力することです。100 の「10 代」の数字 (110、114、212、919 など) を除いて、それらはすべて機能します。 1 の桁) はありません。

4

3 に答える 3

1

コードで何かを忘れていると思います。

2 つのケースを識別しています。10 桁が 1 であるかどうかです。3つのケースがあります。

1-<1

2- ==1

3->1

次に double tensDigit = (numInput % 100) / 10; を使用します。しかし、これは数字ではありません!114 は 1.4 を返します。数字は整数として宣言する必要があります。

最初にこれを試してください(数字を2倍にして...):

    if (tensDigit < 1){
            ones(onesDigit); // only display the last digit
        }
    else if(1==Integer.parseInt(Double.toString(tensDigit).substring(0, 1))){
            teens(hundredsTeens);
        }
        else if (tensDigit > 1){
            tens(tensDigit);
            System.out.print(" ");
            ones(onesDigit);
        }
    }

間違いに気付き、コードの読みやすさを単純化するために実際の数字を入れようとします。

于 2013-06-09T14:54:47.523 に答える