0

我有几个问题需要帮助。

我将在这里添加我的代码和源代码(我猜是什么作业要求澄清)。

服务等级

public class Palindrome
{    
   private String pal;

    public Palindrome()
    {
       pal = " ";
    }

    public Palindrome(String newPal)
    {          
        pal = newPal.toUpperCase();         
    }

    public void setPal(String initPalin)
    {
       pal = initPalin.toUpperCase();           
    }

    public String getPal()
    {
       return pal;
    }

    public boolean isPalindrome()
    {
       int left = 0;
        int right = pal.length() -1;

        while (pal.equals(toUpperCase))
        {
          if (pal.charAt(left) != pal.charAt(right));
             {
                 return false;
              }
              left++;
              right--;
        }
           return true;
        }

     public String toString()
     {
        return "Palindrome" + isPalindrome();
     }
}

客户端类

import java.util.Scanner;

    public class Palindromeclient
    {
      public static void main(String[]args)
      {             
          String pal;
          boolean isS = false;

          Scanner scan = new Scanner(System.in);

          System.out.println("Enter statement press[enter]:");
          String userinput = scan.nextLine();
          Palindrome statement = new Palindrome(pal);

          isS = statement.isPalindrome();

          if (isS)
              System.out.println(userinput + "is a palindrome");              
          else 
              System.out.println(userinput + "is not a palindrome");              
      }      
    }

我的编码给了我一个

Palindrome.java:34: error: cannot find symbol
        while (pal.equals(toUpperCase))
                          ^
  symbol:   variable toUpperCase
  location: class Palindrome
1 error

我不明白为什么,我可以简单地将大写添加到集合或第二个构造函数中,这可能能够修复我的服务类。

这是我的问题,第一

4

1 回答 1

1

对问题 1 的回答:

toUpperCase是 String 的一种方法,应该作为一个方法调用。

pal.toUpperCase()

就像你在setPal方法中所做的那样。

对问题 2 的回答:不需要 main 方法中的布尔值,因为您可以直接在 de System.out 中询问您的 Palindrome 对象是否是回文。

statement.isPalindrome()

但请注意,您的程序将无法运行,因为您没有将用户输入传递给回文构造函数。

于 2012-04-02T14:15:28.437 回答