首页 > 解决方案 > 如何将 100 转换为一零零不是一?

问题描述

我必须调用一个将数字转换为单词的方法和其他两个方法,它们正在反转并获取输入数字的计数,并且必须在第一个方法中调用这两个方法,但如果是数字 100,它将输出为 ONE,但它应该给 ONE零零。所以我的困惑是如何在转换数字方法中调用计数方法并通过简单的调用将输出作为一个零零,因为我使用的是intelliJ和初学者所以我必须首先找出如何调用get count方法数字到单词的方法。

public static void numberToWords(int number) {
    if (number == 0) {
        System.out.println("Zero");
    } else if (number < 0) {
        System.out.println("Invalid Value");
    }

    int revInteger = reverse(number);
    while (revInteger != 0) {
        int modulus = revInteger % 10;
        revInteger /= 10;

        switch (modulus) {

            case 1:
                System.out.println("One");
                break;

            case 2:
                System.out.println("Two");
                break;

            case 3:
                System.out.println("Three");
                break;

            case 4:
                System.out.println("Four");
                break;

            case 5:
                System.out.println("Five");
                break;

            case 6:
                System.out.println("Six");
                break;

            case 7:
                System.out.println("Seven");
                break;

            case 8:
                System.out.println("Eight");
                break;

            case 9:
                System.out.println("Nine");
                break;

            default:
                break;
        }
    }
}


public static int reverse(int reversedNumber) {
    int revNumber = reversedNumber;
    int digit = 0;
    while (revNumber != 0) {
        int n = revNumber % 10;
        digit = digit * 10 + n;
        revNumber /= 10;
    }
    return digit;
}

public static int getDigitCount(int number) {
    int count = 0;
    if (number > 0) {
        while (number != 0) {
            number /= 10;
            ++count;
        }
        return count;
    } else if (number == 0) {
        return 1;
    }
    return -1;
}

标签: java

解决方案


相反,案例块您可以使用预先构建的地图将您的数字替换为单词,如下所示

public class NumToWord {

    public static void main(String[] args) {
        numberToWords(100);
    }

    public static final String[] numToWord = new String[10];
    static {
        numToWord[0]="Zero";
        numToWord[1]="One";
        numToWord[2]="Two";
        numToWord[3]="Three";
        numToWord[4]="Four";
        numToWord[5]="Five";
        numToWord[6]="Six";
        numToWord[7]="Seven";
        numToWord[8]="Eight";
        numToWord[9]="Nine";
    }
    public static void numberToWords(int number) {
        String numberStr = number + "";
        for (char a: numberStr.toCharArray()) {
            String word = numToWord[Integer.parseInt(a+"")];
            if(null!=word) {
                System.out.println(word);
            }
        }
    }
}



推荐阅读