分割関数を使用せずに文の文字を逆にしようとしています。私は本当に近いですが、私は最後の手紙がありません。誰かが私を正しい方向に向けてくれませんか?現在、「これは新しい文です」を「sihT si a wen cnetnes」と出力します。また、プログラムが最初のスペース文字をスキップするため、 if(start == 0)を含めましたが、理由がわかりません。
static String reverseLetters(String sentence)
StringBuilder reversed = new StringBuilder("");
int counter = 0;
int start = 0;
String word;
for(int i = 0; i <= sentence.length()-1 ; i++ )
{
if(sentence.charAt(i)== ' '|| i == sentence.length()-1 )
{
StringBuilder sb = new StringBuilder("");
sb.append(sentence.substring(start,i));
if(start == 0)
{
start = i;
word = sb.toString();
reversed.append(reverseChar(word));
reversed.append(' ');
}
else
{
start = i;
word = sb.toString();
reversed.append(reverseChar(word));
}
}
return reversed.toString();
}
static String reverseChar (String word)
{
StringBuilder b = new StringBuilder("");
for(int idx = word.length()-1; idx >= 0; idx -- )
{
b.append(word.charAt(idx));
}
return b.toString();
}