Java 递归方法中不是语句错误
我编写了这个简单的递归方法来检查一个数字是否是回文的Java 递归方法中不是语句错误,java,compiler-errors,Java,Compiler Errors,我编写了这个简单的递归方法来检查一个数字是否是回文的 public boolean isPalindrome(int x) { String str = Integer.toString(x); if(str.length() <= 1){ return true; } else{ char first = str.charAt(0); char last
public boolean isPalindrome(int x) {
String str = Integer.toString(x);
if(str.length() <= 1){
return true;
}
else{
char first = str.charAt(0);
char last = str.charAt(str.length()-1);
if (first == last){
int short = Integer.parseInt(str.substring(1, str.length()-1));
return isPalindrome(short);
}
else{
return false;
}
}
}
然而,我不断得到编译错误,这一行
int short=Integer.parseIntstr.substring1,str.length-1;这不是一个声明。有人知道问题出在哪里吗?谢谢 重命名变量名-简而言之,它是一个java关键字
if (first == last){
return isPalindrome(Integer.parseInt(str.substring(1, str.length()-1)));
}
short是一个关键词;您不能将其用作变量名。一个好的IDE在上面的代码中以不同的颜色显示关键字,例如蓝色,这应该表明您不能使用该名称。您正在使用IDE,对吗?@Andreas这是一个关于leetcode的问题,所以它没有显示任何不同。@timeRocket没有任何东西阻止您在IDE中编写代码,获得IDE的所有优点,然后在完成后复制/粘贴最终代码。好东西:颜色编码、代码完成、javadoc、即时编译错误、调试等。