如何在Java中转换必需的字符串?

时间:2016-06-19 08:07:30

标签: javascript java

根据要求转换给定的字符串。 abc123需要转换为012onetwothree

实现此类程序的最佳方法是什么,我使用枚举来实现

1 个答案:

答案 0 :(得分:1)

这是我的代码,我将如何实现您的任务。为了转换我使用ascii表的字母,我减去了差值97.请注意,此代码仅适用于小写字母。

public class ReplaceString {
    public static void main(String[] args) {
        String s = "abc123";
        System.out.println(convert(s));
    }

    public static String convert(String s) {
        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) >= 97 && s.charAt(i) <= 122) {
                builder.append(Integer.valueOf(s.charAt(i)) - 97);
            } else {
                builder.append(convertToWord(s.charAt(i)));
            }
        }
        return builder.toString();
    }

    public static String convertToWord(char c) {
        String s = null;
        switch (c) {
        case '0':
            s = "zero";
            break;
        case '1':
            s = "one";
            break;
        case '2':
            s = "two";
            break;
        case '3':
            s = "three";
            break;
        case '4':
            s = "four";
            break;
        case '5':
            s = "five";
            break;
        case '6':
            s = "six";
            break;
        case '7':
            s = "seven";
            break;
        case '8':
            s = "eight";
            break;
        case '9':
            s = "nine";
            break;
        }
        return s;
    }
}