gpt4 book ai didi

java - 我在 Java 中尝试将 Stack 实现为数组时不断收到 'cannot find symbol' 错误

转载 作者:行者123 更新时间:2023-12-01 22:37:37 25 4
gpt4 key购买 nike

因此,对于作业,我需要使用数组实现堆栈。我已经弄清楚了所有代码,但由于某种原因,每当我尝试使用我的 char 数组时,Java 都会说找不到它。这是我的堆栈类。

public class Stack
{
private int top;

public Stack ()
{
char []charArray = new char [50];
top = -1;
}

public void push(char c)
{
top++;
charArray[top] = c;
}

public void pop()
{
top--;
}

public char top()
{
return charArray[top];
}

public void makeNull()
{
top=-1;
}

public boolean isEmpty()
{
return (top==-1);
}
}

有人知道我为什么会出现这些错误吗?它不喜欢 push 和 top 中我引用 charArray 的行。

最佳答案

数组变量 charArray 在构造函数内声明为局部变量,因此对其他方法不可见。

您可以将其声明为成员字段:

 private int top;
private char[] charArray;

public Stack ()
{
charArray = new char [50];
top = -1;
}

关于java - 我在 Java 中尝试将 Stack 实现为数组时不断收到 'cannot find symbol' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26669864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com