需要帮助理解这个基本挑战吗?

目前正在做一个挑战称为数字到单词,我创建了两个方法,一个处理单独的比较值,以便它可以打印出它的字符串值(方法称为numberToWord),另一个称为反向的方法,基本上重新排序的值,以便它是以正确的顺序打印,例如:步骤一567 -->步骤2,它将被转换为765 -->步骤3,反向方法将它转换回5,6,7单独,以便它可以比较的值与if语句。然而,我已经尝试了很多方法来让它工作,我设法让它进入步骤3,但是当我试图返回值时,它在它转换之前给了我3个随机值,例如g= 7,6,7...5,6,7,我不知道如何删除前3个值,只返回最后3个值,以便在numberToWords方法中进行比较。

package com.company;

public class Main {

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


    }

    public static void numberToWords(int number) {
        int lastDigit = 0;
        int digit = number;
        int reverseDigit = 0;

        if (number < 0) {
            System.out.println("Invalid Value");
        }

        for (int i = 0; i < digit; i++) {
            //so we are taking the last digit from 567 per iteration
            lastDigit = digit % 10;
            //we are then dividing the digit by 10 each time so we can get another last digit
            digit /= 10;
            //i will now try to essentially get down to the final number which will be flipped
            reverseDigit = (reverseDigit * 10) + lastDigit;
            //checking values
            System.out.println(reverse(reverseDigit));

//            if (reverse(reverseDigit)== 0) {
//                System.out.println("Zero");
//            } else if (reverse(reverseDigit) == 1) {
//                System.out.println("One");
//            }else if (reverse(reverseDigit) == 2) {
//                System.out.println("Two");
//            }else if (reverse(reverseDigit) == 3) {
//                System.out.println("Three");
//            }else if (reverse(reverseDigit) == 4) {
//                System.out.println("Four");
//            }else if (reverse(reverseDigit) == 5) {
//                System.out.println("Five");
//            }else if (reverse(reverseDigit) == 6) {
//                System.out.println("Six");
//            }else if (reverse(reverseDigit) == 7) {
//                System.out.println("Seven");
//            }else if (reverse(reverseDigit) == 8) {
//                System.out.println("Eight");
//            }else if (reverse(reverseDigit) == 9) {
//                System.out.println("Nine ");
//            }

                if (lastDigit == 0) {
                    System.out.println("Zero");
                } else if (lastDigit == 1) {
                    System.out.println("One");
                } else if (lastDigit == 2) {
                    System.out.println("Two");
                } else if (lastDigit == 3) {
                    System.out.println("Three");
                } else if (lastDigit == 4) {
                    System.out.println("Four");
                } else if (lastDigit == 5) {
                    System.out.println("Five");
                } else if (lastDigit == 6) {
                    System.out.println("Six");
                } else if (lastDigit == 7) {
                    System.out.println("Seven");
                } else if (lastDigit == 8) {
                    System.out.println("Eight");
                } else if (lastDigit == 9) {
                    System.out.println("Nine");
                }
        }
    }


        public static int reverse (int a){
        int lastDigit = 0;
        for (int i =0; i < a; i++) {
                lastDigit = a % 10;
                a /= 10;
        //testing values here
        //System.out.println(lastDigit);
                //sout in loop gives us 567
        }

        return lastDigit;
        }


}

转载请注明出处:http://www.fuqingkongyaji.com/article/20230526/1346366.html