0

ヘルパーメソッドをどのように配置できるかについて、少し助けが必要です。これは私が書いたヘルパーメソッドです。

public static String helper(String help) {
    help = help.toLowerCase();
    help = help.replaceAll("\\s+", "");
}

これが私がメインメソッドで使用した方法です。

String help = RecursivePalindrome.helper(x);

私がこのように保つと、ヘルパーメソッドで戻り値を要求されますが、return help;それを置くと、メソッドは正しく実行されません。ヘルパーメソッドをvoidに変更すると、メインメソッドに文字列ヘルプを配置できなくなります。

これは私がプログラムを実行すると何が起こるかです:

Enter a word to test whether it is a palindrome or not(press quit to end.): RaceCar
'RaceCar' is not a palindrome.

大文字を無視するようにヘルパークラスを配置しましたが、そうではありません。RaceCarは回文になりますが、大文字はプログラムにそうではないと言わせます。

4

3 に答える 3

2

メソッドはStringを返す必要があります。また、Javaの文字列は不変であり、文字列を変更すると新しい文字列が返されます。これを試して:

public static String helper(String help) {
    return help.toLowerCase().replaceAll("\\s+", "");
}
于 2013-02-25T20:26:41.147 に答える
2

私はあなたがこれを必要とすると思います:

public static String helper(String help) {
    help = help.toLowerCase();
    help = help.replaceAll("\\s+", "");
    help = help.replaceAll("\\p{Punct}", "");
    return help;
}

呼び出すと、すべての文字が小文字になり、空白文字または句読文字がすべて削除されhelperた状態でが返されます。String

helper("Race Car#")"racecar"

于 2013-02-25T20:15:02.900 に答える
0

これは、私が作成した、RaceCarで機能する簡単な回文計算機です.....akoのヘルパーメソッドを使用しています。

public class Main {

    public static void main(String [] args){
         System.out.println(palindrom(helper("RaceCar")));
    }

    public static String helper(String help){
         return help.toLowerCase().replaceAll("\\s+", "");
    }

    public static boolean palindrom(String pal)
    {
        int end = pal.length()-1;
        for(int i = 0; i<=pal.length()/2;i++)
        {
            if(pal.charAt(i)== pal.charAt(end-i));
            else 
            {
                return false;
            } 
        }
        return true;

    }
}
于 2013-02-25T21:07:16.820 に答える