【问题标题】:top cannot be resolved in a stack顶部无法在堆栈中解析
【发布时间】:2014-07-10 20:09:03
【问题描述】:

鉴于这段 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。有人可以向我解释我应该如何更改此声明吗?我想要的只是执行基本的 Stack 交互(push、pop、peek、isEmpty),但我已经碰壁了,因为我看不出我的代码/变量声明有什么问题。提前感谢您的帮助。

【问题讨论】:

    标签: java stack


    【解决方案1】:

    这个

    Stack s = new Stack();
    

    应该是

    StackLab s = new StackLab();
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 2010-10-19
      • 2020-12-19
      • 2021-05-20
      • 2021-10-20
      • 1970-01-01
      • 2018-07-06
      相关资源
      最近更新 更多