我写了一个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的字符串是正确的。只要想一想你的算法的执行情况testcases,你肯定会看到自己的问题 – Voo