基本Java:错误:预期类,接口或枚举

时间:2013-11-01 04:22:25

标签: java

我正在尝试编写一个方法来查看该字符串是否为回文(也可以向后拼写正确的单词,例如“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;
}

编辑:错误的屏幕截图:

enter image description here

课程开始:

public class Geek{
private String name;
private int numberofQuestions=0;

最终编辑:在其中一个方法中找到一个额外的“{”。感谢大家的帮助!

5 个答案:

答案 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;
            }
   }