-1

重複の可能性:
Javaで数字を単語に変換する方法

引数を受け取り、それらを int 値に変換し、それらに対して少し計算を行い、最大 10 までの int 値として出力する Java コードがあります。これらの出力 int 値を取得して、別の文字列に変換する必要があります。

例えば:

int a = 6;
int b = a + 2;
System.out.print(b);

これにより、値 8 が出力されます。int b を文字列に変換できることはわかっています。

int a = 6;
int b = a + 2;
String b1 = Integer.toString(b);
System.out.print(b1);

これにより、int b が文字列 b1 に変わりますが、出力は 8 のままです。値は 1 から 10 までの数値のみになるため、これらの値を対応する文字列 (1 = 1、2 = 2、など) 値 8 が文字列 8 であることを宣言する必要があることはわかっていますが、それがわかりません。私は正しい道を進んでいますか?

4

2 に答える 2

3

これを行う1つの方法は次のとおりです。

String[] asString = new String[] { "zero", "one", "two" };    
int num = 1;
String oneAsString = asString[num]; // equals "one"

またはより良い言い方:

public class NumberConverter {
  private static final String[] AS_STRING = new String[] { "zero", "one", "two" };    

  public static String getTextualRepresentation(int n) {
    if (n>=AS_STRING.length || n<0) {
       throw new IllegalArgumentException("That number is not yet handled");
    }
    return AS_STRING[n];
  }
}

--

編集も参照してください:Javaで数字を単語に変換する方法

于 2013-01-26T19:35:50.160 に答える
2

それにはいくつかの方法があります。私の個人的な好みは次のようなものです。

String text[] = {"zero","one","two","three","four","five","six","seven",
    "eight","nine","ten"};

void printValue(int val, int off)
{
   //Verify the values are in range do whatever else
   System.out.print(text[val+off]);
}
于 2013-01-26T19:36:28.073 に答える