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

理由はわかりませんが、代わりにセットまたは2番目のコンストラクターに大文字を追加するだけで、サービスクラスを修正できる可能性があります。

それが私の質問です、一番です

4

1 に答える 1

1

質問 1 への回答:

toUpperCaseString のメソッドであり、1 つとして呼び出す必要があります。

pal.toUpperCase()

メソッドで行ったのと同じようにsetPal

質問 2 への回答: メイン メソッドのブール値は必要ありません。なぜなら、回文オブジェクトが回文であるかどうかを de System.out で直接問い合わせることができるからです。

statement.isPalindrome()

ただし、ユーザー入力を Palindrome コンストラクターに渡さないため、プログラムが機能しないことに注意してください。

于 2012-04-02T14:15:28.437 に答える