回文服务类和客户类

时间:2012-04-02 14:04:49

标签: java palindrome

我有几个问题需要帮助。

我会在这里添加我的代码和源代码(我想分配要求澄清)。

服务类

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

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

这是我的问题,排名第一

1 个答案:

答案 0 :(得分:1)

回答问题1:

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

pal.toUpperCase()

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

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

statement.isPalindrome()

请注意,您的程序无法正常工作,因为您没有将用户输入传递给Palindrome构造函数。