-1

そのため、次の問題が割り当てられましたが、どこから始めればよいかさえわかりません。彼はパリンドロームを配列から引き出したいと思っていますか? 私が回文についてオンラインで行ったすべての調査では、いずれもブール値を使用していません。前もって感謝します。プログラミングは、控えめに言っても私の得意分野ではありません。

問題 2.1. (5 点) ピリオドで終わる文字列を受け取り、その文字列 (ピリオドなし) が回文かどうかを判断するプログラムを作成してください。入力に文字と空白のみが含まれていると仮定します。また、入力の長さは最大 30 文字であると想定します。文字列が回文であるかどうかを判断するときに空白を無視し、同じ文字の大文字と小文字のバージョンが同等であると見なします。静的メソッド回文を提供する

 public static boolean palindrome(char[] a, int number)

これは、入力文字列の文字を含む char 配列と、文字列内の文字数を定義する整数を受け入れます。

4

4 に答える 4

1

この場合、Java API のすべての範囲を使用することが許可されていると仮定しましたArrays。これは s を使用すると簡単に実行できStringますが、要件は配列を使用することなので、次のようになります。

public static boolean isPalindrome(char[] input, int length)
{    
    // Remember the original array
    char[] original = Arrays.copyOf(input, length);

    char temp;

    // Reverse the array. This could be optimised, it's your call
    for (int i = 0; i < length / 2; i++) 
    {
        temp = input[i];
        input[i] = input[length - 1 - i];
        input[length - 1 - i] = temp;
    }

    // Use the Arrays helper again, to check for equality
    // BE CAREFUL: This is not the same as original.equals(input) !!!
    return Arrays.equals(original, input);
}
于 2013-09-09T00:06:57.587 に答える