命令无效调试@stack队列

commands invalid debugged @stack queue

我的堆栈程序有问题,我不太明白我的错误。我可以得到一些帮助吗?每次我尝试 运行 它时,它都会出现多个错误,我对一些事情感到非常困惑。我的错误总共是 60 个错误。 因此整个程序都关闭了。我想做的就是在这个堆栈和队列程序中创建名称。

public class YourStackNB {
private int maxSize;
private long[] stackArray;
private int top;

public YourStackNB(int s) {
  maxSize = s;
  stackArray = new long[maxSize];
  top = -1;
}
public void push(long j) {
  stackArray[++top] = j;}
public long pop() {
 return stackArray[top--];
  }
 public boolean isEmpty() {
  return (top == -1);
}
   public static void main(String[] args) {
  YourStackNB theStack = new YourStackNB();
  Stack<Name> even = new Stack<>();
  theStack.push(dino);
  theStack.push(perry);
  theStack.push(jada);
  theStack.push(holly);
  theStack.push(nori);
  
  while (!theStack.isEmpty()) {
     long value = theStack.pop();
     System.out.print(value);
     System.out.print(" ");
  }
  System.out.println("");
}

 }

您正在尝试使用数组实现堆栈。但是你没有正确使用它。相反,您正在尝试使用 java.util.Stack 传递不正确的类型名称。

您正在尝试实现长数据类型堆栈的另一件事。但是你正试图在那里放一些字符串。这些代码不正确

//  Stack<Name> even = new Stack<>();
//  theStack.push(dino);
//  theStack.push(perry);
//  theStack.push(jada);
//  theStack.push(holly);
//  theStack.push(nori);

我建议你尝试编写一些基本的 java 程序,这样你会更加了解 java 语法,这将有助于你更好地思考。

为了您的学习,我正在修复错误,此代码可以以更好的方式实现

public class YourStackNB {
private int maxSize;
private long[] stackArray;
private int top;

public YourStackNB(int s) {
  maxSize = s;
  stackArray = new long[maxSize];
  top = -1;
}
public void push(long j) {
  stackArray[++top] = j;}
public long pop() {
 return stackArray[top--];
  }
 public boolean isEmpty() {
  return (top == -1);
}
   public static void main(String[] args) {
  YourStackNB theStack = new YourStackNB(10);

  theStack.push(100);
  theStack.push(200);
  theStack.push(300);
  theStack.push(400);
  theStack.push(500);
//  Stack<Name> even = new Stack<>();
//  theStack.push(dino);
//  theStack.push(perry);
//  theStack.push(jada);
//  theStack.push(holly);
//  theStack.push(nori);
  
  while (!theStack.isEmpty()) {
     long value = theStack.pop();
     System.out.print(value);
     System.out.print(" ");
  }
  System.out.println("");
}

 }
OUTPUT:
    500 400 300 200 100

由于堆栈是后进先出 (LIFO),因此它以相反的顺序打印我们将元素插入其中。