3

文字列が回文であるかどうかを確認するメソッドを作成しようとしています (たとえば、「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;

最終編集: メソッドの 1 つに余分な「{」が見つかりました。助けてくれてありがとう!

4

5 に答える 5

9

このメソッド定義を開始する前にクラス本体を閉じる中括弧または中括弧の欠落に関連するものだと思います。

于 2013-11-01T04:31:11.833 に答える
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;
        }
    }
于 2013-11-01T04:24:53.353 に答える
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;
            }
   }
于 2013-11-01T05:09:20.570 に答える
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
于 2013-11-01T04:32:52.967 に答える
0

ループ、メソッド、およびクラスの後に中括弧が適切に終了しているかどうかを確認する必要があります。

于 2013-11-01T04:34:14.633 に答える