2011-09-29 22 views
5

Javaで文字列を作成しようとしていますが、最大3文字、最小1文字の長さになります。文字列のJavaヌル文字

整数配列の内容に応じて文字列を作成していますが、配列の内容が-1の場合は文字列にヌル文字を出力します。それ以外の場合、文字列には整数の文字バージョンが含まれます。

for (int i=0; i < mTypeSelection.length; i++){ 
     mMenuName[i] = (mTypeSelection[i] > -1 ? Character.forDigit(mTypeSelection[i], 10) : '\u0000'); 

    } 

私がこれまで持っていますが、これは何をするときI出力配列の文字列{0、-1、-1}というだけで、私は、文字列「0」を得ている「0」の文字列を取得するよりも。

誰も私が望む結果を得る方法を知っていますか?

おかげで、M

+0

あなたは完全なコードを提供できますか?どのように結果を印刷していますか? – srikanta

+1

最終的な文字列の2位と3位にヌル文字で終わります。ヌル文字はJavaの文字列を終了しません。あなたは配列の最初の-1で文字列を切り捨てたいですか? –

答えて

6

私はしかしC.に起こるように、あなたはJavaで文字列内のヌル文字を持つことができ、あなたが最初のNULL文字で文字列を終了したいと仮定するつもりですので、彼らが勝ちました文字列を終了しません。私は次のコードは、あなたが後の動作を生成すると思う:

StringBuilder sb = new StringBuilder(); 
for (int i=0; i < mTypeSelection.length; i++){ 
    if(mTypeSelection[i] > -1) { 
     sb.append(Character.forDigit(mTypeSelection[i], 10)); 
    } else { 
     break; 
    } 
} 
String result = sb.toString(); 
+0

ありがとうございます。 – mAndroid

+0

あなたは大歓迎です:) –