"невозможно найти ошибку символа" с определением строки - PullRequest
0 голосов
/ 26 марта 2012

Таким образом, этот код должен взять введенную строку, повернуть эту строку назад, затем сравнить исходную и обратную строки, чтобы увидеть, совпадают ли они, и вернуть true, если они являются палиндромами. Прежде чем перевернуть текст в обратном направлении, я пытаюсь преобразовать его в нижний регистр, однако получаю сообщение об ошибке «невозможно найти символ» в строке, где я беру параметр, переданный методу, преобразую его в нижний регистр и сохраняю новая переменная.

Я понятия не имею, что является причиной этого, из того, что я знаю о Java (что не так уж много), ошибка «не удается найти символ» при определении переменной в методе часто возникает, когда метод или класс не могут получить доступ к чему-либо Значение присваивается новой переменной, однако мне кажется, что метод isPal не должен иметь проблем с передачей переменной 'str'. Пожалуйста, может кто-нибудь сказать мне, где я иду не так?

public class Lab14TEXT05st
{
    public static void main (String args[])
    {
        System.out.println("\nLab14TEST05\n");
        boolean finished = false;
        do
        {
            System.out.print("Enter a string  ===>>  ");
            String str = Expo.enterString();
            System.out.println();
            System.out.println("Entered String:     " + str);
            System.out.println("Palindrome:         " + Palindrome.isPal(str));       <---This line should be passing string str to 's' in the isPal method
            System.out.println("Almost Palindrome:  " + Palindrome.almostPal(str));   // used only for the 100 and 110 point versions
            System.out.println("Least Palindrome:   " + Palindrome.leastPal(str));    // used only for the 110 point versions
            System.out.println();
            System.out.print("Do you wish to repeat this program [Y/N]?  ===>>  ");
            char repeat = Expo.enterChar();
            finished = (repeat != 'Y' && repeat != 'y');
            System.out.println();
        }
        while (!finished);
    }
}


class Palindrome
{
    public static boolean isPal(String s)
    /*
     * Precondition:  s is an arbitrary String.
     * Postcondition: The value of true is returned if s is a Palindrome, false otherwise.
     */
    {
        String s2 = s.toLowerCase;  <--The error message points to this line
        String s3 = "";

        int n = s.length() - 1;
        for  (int k = n; k >= 0; k--){
            s3 += s2.charAt(k);
        }

        if (s2.equals(s3)){
            return  true;
        }


    }

1 Ответ

1 голос
/ 26 марта 2012

Вы пытаетесь вызвать функцию.
Это требует скобки ().

...