Java 无法在堆栈中解析top

Java 无法在堆栈中解析top,java,stack,Java,Stack,给出以下Java代码: import java.util.*; public class StackLab { int top; int[] array; public static void main(String[] args) { Stack s = new Stack(); initStack(s); push(s, 8); peek(s); } public static void initStack(Stack s) {

给出以下Java代码:

import java.util.*;


public class StackLab {

 int top;

 int[] array;

 public static void main(String[] args)
 {

   Stack s = new Stack();

   initStack(s);

   push(s, 8);

   peek(s);

 }

 public static void initStack(Stack s)
 {

  s.top = -1;

  s.array = new int[100];

 }

 public static void push(Stack s, int v)
 {

  s.top++;

  s.array[s.top] = v; 

 }

 public static int peek(Stack s)
 {

  return s.array[s.top];

 }

 public static void pop(Stack s)
 {

  s.top--;

 }

 public static boolean isEmpty(Stack s)
 {

  return s.top == -1;

 }

}
我得到一个错误,top和array无法解析或不是字段。我不明白为什么会出现这样的错误。在main之前,我已经在开头声明了top和array。有人能给我解释一下我该如何更改这个声明吗?我只想执行基本的堆栈交互(push、pop、peek、isEmpty),但我已经触礁了,因为我看不出我的代码/变量声明有什么问题。提前感谢您的帮助。

Stack s = new Stack();
应该是

StackLab s = new StackLab();
所有方法参数都应该是
StackLab
类型,而不是
Stack

Stack
java.util.Stack
并且没有任何可见字段。

这是

Stack s = new Stack();
应该是

StackLab s = new StackLab();
所有方法参数都应该是
StackLab
类型,而不是
Stack

Stack
java.util.Stack
并且没有任何可见字段。

这是

Stack s = new Stack();
应该是

StackLab s = new StackLab();
所有方法参数都应该是
StackLab
类型,而不是
Stack

Stack
java.util.Stack
并且没有任何可见字段。

这是

Stack s = new Stack();
应该是

StackLab s = new StackLab();
所有方法参数都应该是
StackLab
类型,而不是
Stack

Stack
java.util.Stack
并且没有任何可见字段