非常に簡単な質問があります。実際、これを自分で解決できないことに少し不満を感じていますが、ここにあります。
strBuffer += arg.charAt( i );
この行を使用して、値を解析し、新しい文字列に1文字ずつ追加しようとしています。これは、1つの長い文字列を小さな文字列の配列に分離するために行っています。
例、この文字列
-time delayed -run auto -mode go_n_run
この配列になります
strBuffer [0] = -time
strBuffer [1] = delayed
strBuffer [2] = -run
strBuffer [3] = auto
strBuffer [4] = -mode
strBuffer [5] = go_n_run
したがって、「+ =」を含むコード行は機能せず、strBufferに何も入れられません。だから私はフォーラムで見つけたもう少し「複雑な」何かを試しました:
strBuffer.concat( new String( new char[]{arg.charAt( i )} ) );
しかし同じ結果、strBufferには何も入れられません。
だから、どんなヒントもいただければ幸いです
ありがとう
編集:これが完全な方法です
String[] args = new String[2 * ARG_LIMIT];
int index = 0;
for( int i = 0; i < arg.length(); i++ )
{
String strBuffer = new String();
if( arg.charAt( i ) != ' ' )
{
// The two methods I've tried
strBuffer.concat( new String( new char[]{arg.charAt( i )} ) );
strBuffer += arg.charAt( i );
}
else if( arg.charAt( i ) == ' ' )
{
args[index] = strBuffer;
index++;
strBuffer = "";
}
}