根据要求转换给定的字符串。 abc123需要转换为012onetwothree
实现此类程序的最佳方法是什么,我使用枚举来实现
答案 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;
}
}