好的。我已经查看了如何制作回文,看起来使用reverse()方法似乎是我最好的选择。但是,在我的代码中,我遇到了一个我不明白的错误。
import java.util.*;
public class retreiveInput
{
private Scanner input = new Scanner(System.in);
private int fives = 0;
public retreiveInput(){
fives = input.nextInt();
}
public void check()
{
while(fives < 9999 || fives > 100000)
{
System.out.println("The number does not work! It is NOT 5 digits!");
fives = input.nextInt();
}
String five = Integer.toString(fives);
five.equalsIgnoreCase(new StringBuilder(five).reverse().toString());
if(five = five.reverse()){
}
}
}
在代码的反面,它给我以下错误。 “对于String”
类型,方法reverse()未定义知道怎么解决这个问题吗?程序应该做的是在if语句的reverse()点,程序应该检查五的值是否等于五的倒数。
答案 0 :(得分:4)
if(five = five.reverse())
在上面的代码中,五是一个字符串。 reverse是StringBuilder()的一种方法。您的if语句中也存在一些错误。你想要这个
StringBuilder sbFive = new StringBuilder(five)
if (five.equals(sbFive.reverse().toString()))
另请注意,您可以更快地完成此操作。
更快地做到这一点的方法是在比较过程中从每一端开始并在中间相遇。这需要执行一半的时间:)