isPalindrome错误(找不到符号)

时间:2015-03-30 16:51:27

标签: java compiler-errors cannot-find-symbol

我试图创建一个程序,使用堆栈和队列来检查单词是否是回文。

到目前为止这是我的程序

import java.io.*;
import java.util.Scanner;

public class isPalindrome {


    public static boolean isPal(String str){

        QueueArrayBased queue = new QueueArrayBased();
        StackArrayBased stack = new StackArrayBased();
        for (int i = 0; i<=str.length(); i++){
            queue.enqueue(i);
            stack.push(i);
        }

        while (queue.isEmpty != 0){
            if (queue.dequeue() != stack.pop())
            return false;
        }
        return true;
    }


    public static void main (String [] args){
        Scanner keyboard = new Scanner(System.in);

        System.out.print("Type Word: ");
        String str = keyboard.nextLine();
        System.out.println("Word: " + str);

        System.out.println(isPal(str));
    }
}

当我编译说:

时,我收到错误
"isPalindrome.java:16: cannot find symbol
symbol  : variable isEmpty
location: class QueueArrayBased
        while (queue.isEmpty != 0)"

这是#Empty方法,它给我一个错误

public boolean isEmpty()
  {
    return count == 0;
  }  // end isEmpty

我是Java的新手,我不知道自己做错了什么。

1 个答案:

答案 0 :(得分:4)

您正在调用方法,因此它应该是queue.isEmpty() != 0

执行queue.isEmpty时,编译器会在isEmpty中查找变量queue。由于该变量不存在,因此会抛出错误。