2012-03-26 3 views
-2

Итак, этот код должен взять введенную строку, повернуть эту строку назад, а затем сравнить исходную и обратную строку, чтобы увидеть, соответствуют ли они и возвращают 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; 
     } 


    } 
+0

Я думаю, что ваша домашняя работа будет намного более ценной, если вы сделаете их сами ... – Tchoupi

+0

Кто, черт возьми, отметил это как C#? – leppie

ответ

1

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

+0

Ах, спасибо, я сменил строку на 'String s2 = s.toLowerCase();' – user1292160

Смежные вопросы