私は文字列の内容を逆にして表示するJavaプログラムを書いています。文字列の逆の問題
ここでコードが..です
import java.util.*;
class StringReverse
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter a string to be reversed :");
String input = in.next();
char[] myArray = new char[input.length()];
myArray = input.toCharArray();
int frontPos=0,rearPos=(myArray.length)-1;
char tempChar;
while(frontPos!=rearPos)
{
tempChar=myArray[frontPos];
myArray[frontPos]=myArray[rearPos];
myArray[rearPos]=tempChar;
frontPos++;
rearPos--;
}
System.out.println();
System.out.print("The reversed string is : ");
for(char c : myArray)
{
System.out.print(c);
}
}
}
今、プログラムが5以上の長さの文字列に対して正常に動作します。しかし、私は、入力として長さ4の文字列を与えた場合、私はにArrayIndexOutOfBounds例外を取得。何が問題なの?
それは同じように簡単に行うことができますか? –
いいえ、そのアルゴリズムは、5以上の長さ(ヒント:50%)のすべての文字列ではうまく動作せず、実際には5より小さい文字列に対して正しく機能します。テストケースとあなたは確かに自分自身の問題を参照してください – Voo