我正在尝试编写一个方法来查看该字符串是否为回文(也可以向后拼写正确的单词,例如“racecar”。我无法找到错误,所以也许另一组眼睛会有所帮助。这是代码:
public boolean isPalindrome(String str){
numberofQuestions++;
int n = str.length();
for( int i = 0; i < n/2; i++ )
if (str.charAt(i) != str.charAt(n-i-1)) return false;
return true;
}
编辑:错误的屏幕截图:
课程开始:
public class Geek{
private String name;
private int numberofQuestions=0;
最终编辑:在其中一个方法中找到一个额外的“{”。感谢大家的帮助!
答案 0 :(得分:9)
我敢打赌这是与缺少大括号相关的东西,或者是在开始此方法定义之前关闭类主体的大括号。
答案 1 :(得分:2)
该方法应完全包含在类
中public class Geek {
private String name;
private int numberofQuestions = 0;
public boolean isPalindrome(String str) {
numberofQuestions++;
int n = str.length();
for (int i = 0; i < n / 2; i++)
if (str.charAt(i) != str.charAt(n - i - 1))
return false;
return true;
}
}
答案 2 :(得分:0)
使isPalindrome()
函数保持静态。
以下是一个示例:
public class Sample {
private static int numberofQuestions;
public static void main(String[] args)
{
String str = "racecar";
String str2 = "notpalindrome";
boolean test = isPalindrome(str);
boolean test2 = isPalindrome(str2);
System.out.println(str + ": " + test);
System.out.println(str2 + ": " + test2);
}
public static boolean isPalindrome(String str) {
numberofQuestions++;
int n = str.length();
for (int i = 0; i < n / 2; i++)
if (str.charAt(i) != str.charAt(n - i - 1))
return false;
return true;
}
}
输出:
racecar: true
notpalindrome: false
答案 3 :(得分:0)
在循环,方法和类之后,您必须检查花括号是否正确结束。
答案 4 :(得分:0)
我觉得花括号有问题。你没有结束主类Geek {}的括号。
检查一下:
public class Geek
{
private String name;
private int numberofQuestions = 0;
public boolean isPalindrome(String str)
{
numberofQuestions++;
int n = str.length();
for (int i = 0; i < n / 2; i++)
if (str.charAt(i) != str.charAt(n - i - 1))
return false;
return true;
}
}