gpt4 book ai didi

java - 字符串反转问题

转载 作者:行者123 更新时间:2023-12-04 17:51:11 24 4
gpt4 key购买 nike

我写了一个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 异常。可能是什么问题?

最佳答案

问题不在于输入的长度为 4,而是长度 4 是一个偶数 长度,因此您的停止条件永远不会命中。即 frontpos 从不等于rearpos对于偶数长度的字符串。

您应该改为确保 frontpos 小于 rearpos , 改变 while(frontPos!=rearPos)while(frontPos < rearPos)应该把事情弄清楚。

关于java - 字符串反转问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6619365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com