我该如何解决这个问题? 我已经完成了代码,但唯一的问题是它一直说找不到变量。对于下面列出的这些:
QueueArrayBased pQueue = new QueueArrayBased(); StackArrayBased pStack = new StackArrayBased();
我已经检查了与被调用的类相同的命名。我不知道还能做什么。请帮助我将不胜感激。我有 import java.util.*;因为有消息称它将解决该问题,但事实并非如此。
import java.util.Scanner;
import java.util.*;
public class isPalindrome
{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Word to check: ");
String userInput = sc.nextLine();
userInput = userInput.toUpperCase();
System.out.print(isPal(userInput)+" ");
}
public static boolean isPal(String str)
{
QueueArrayBased pQueue = new QueueArrayBased();
StackArrayBased pStack = new StackArrayBased();
for (int i = 0; i < str.length(); i++){
pQueue.enqueue(str.charAt(i));
pStack.push(str.charAt(i));
}
//start to compare
while(!pQueue.isEmpty())
{
if(pQueue.dequeue() != pStack.pop()){
return false;
}
}
//finished w/ empty queue (and empty stack)
return true;
}
}
最佳答案
您说过您已经实现了这些类,因此如果您遇到此类错误,则您的类必须位于不同的包中。当您在与要使用它的包不同的包中编写一个类时,您必须将其导入
到当前的Java 文件中。例如,如果您的 QueueArrayBased
和 StackArrayBased
类位于名为“structs”的包中,则需要包含 import Structures.QueueArrayBased
和 在您的
(或者只是 import
语句中导入 Structures.StackArrayBasedimport Structures.*
一次获取两者)。然后,您就可以自由地使用该类了。
我建议在继续前进之前先回顾一些 Java 项目结构。这将使您以后的生活更加轻松。您可以找到有关包和导入的很好的解释 here .
关于java - 如何完成三个Queue的实现以及三个Stack的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60984110/