top无法在堆栈中解析

时间:2014-07-10 20:09:04

标签: 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)
 {

  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;

 }

}

我收到错误,顶部和数组无法解析或不是字段。我不明白为什么会出现这个错误。我在开始之前,在main之前声明了top和array。请有人向我解释我应该如何更改此声明?我想要的只是执行基本的堆栈交互(push,pop,peek,isEmpty),但我已经碰壁了,因为我无法看到我的代码/变量声明有什么问题。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

Stack s = new Stack();

应该是

StackLab s = new StackLab();

您的所有方法参数都应该是StackLab类型,而不是Stack

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