java错误:找不到符号堆栈。大小()

java错误:找不到符号堆栈。大小(),java,count,stack,size,Java,Count,Stack,Size,我弄糊涂了。我检查了java中size()方法的参数,知道它是堆栈类继承的向量类的一部分。为什么这个方法在我的堆栈上不起作用?我想知道堆栈的大小。如果不是这样的话,还有没有其他方法可以得到尺寸 import java.util.Vector; public class InfixCalculator { ... Stack<String> stack = new Stack<String>(); while((stack.size() > 0)

我弄糊涂了。我检查了java中size()方法的参数,知道它是堆栈类继承的向量类的一部分。为什么这个方法在我的堆栈上不起作用?我想知道堆栈的大小。如果不是这样的话,还有没有其他方法可以得到尺寸

import java.util.Vector;

public class InfixCalculator
{
...
    Stack<String> stack = new Stack<String>();

    while((stack.size() > 0) && (stack.peek() != "(")
}
import java.util.Vector;
公共类内插计算器
{
...
堆栈=新堆栈();
而((stack.size()>0)和(&(stack.peek()!=“(”)
}
^symbol:方法大小()
位置:stack类型的变量堆栈
公共类堆栈实现StackInter
{
公共推送
{
...
}   
公共字符串pop()
{
...
}
公共布尔值isEmptyStack()
{
...
}
公共字符串peek()
{
...
}
}

很抱歉。我应该提到我无法导入堆栈类。我必须创建自己的类堆栈。有没有一种方法可以获得堆栈的大小,而无需在堆栈类中为其创建方法?

这是一个示例代码,用于获取
堆栈的大小,如果您打算这样做的话-

Stack<String> sk=new Stack<String>();

sk.push("a");
sk.push("c");
sk.push("e");
sk.push("d");

int sizeOfStack=sk.size();

System.out.println("Size of Stack :"+sizeOfStack);
来源:


进一步阅读:

您必须在
堆栈
类中创建一个
大小
方法才能调用它。您还可以扩展或实现其他一些已经有该方法的
集合
样式类。如果
堆栈
中没有
大小
方法,并且没有该方法在
StackInter
中,则无需调用任何内容。

发生错误的原因是
stack
未定义。请注意,此堆栈与Java使用的堆栈不同。此方法适用于用户定义的堆栈。我忘了包含它,但我有一个堆栈声明。我已将其添加到上述代码中。对不起,
如何进行堆栈
implement
StackInter
Stack
是已定义的类。此外,实现或扩展该类并不一定能访问其所有方法和
size()
可能是其中之一。一定要告诉我们为什么你不能导入
堆栈
类。解决这个问题可能会很容易解决。我的老师说我不能很好地解决问题,我想你的老师希望你从头开始实现堆栈。这样做可能需要更多的时间,但你的概念会变得更清晰。一旦你实现了从头开始,你可以很容易地编写自己的方法来计算大小。从那以后应该不会很难。谢谢!这很有帮助
public class Stack<String> implelments StackInter<String>
{
     public void push()
    {
        ...
    }   
    public String pop()
    {
        ...
    }
    public boolean isEmptyStack()
    {
        ...
    }
    public String peek()
    {
        ...
    }
}
Stack<String> sk=new Stack<String>();

sk.push("a");
sk.push("c");
sk.push("e");
sk.push("d");

int sizeOfStack=sk.size();

System.out.println("Size of Stack :"+sizeOfStack);
Size of Stack :4