2016-06-19 11 views
-3

所要量ごとに指定された文字列を変換します。 ABC123プログラムのような種類を実施するための最良の方法は何012onetwothreeJavaで必要な文字列を変換するにはどうすればよいですか?

を変換する必要があり、私はこれがどのように私はあなたのタスクを実装し、私のコードです

+1

これまでに試したことについて少し説明できますか? –

答えて

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; 
    } 
} 
+0

"小文字":小文字[Basic Latin](http://www.unicode.org/charts/nameslist/index.html)の文字です。約10万文字があります。 –

+0

はい、そうです。 –

関連する問題