实现堆栈:Pushed字符在堆栈中为空

时间:2014-03-01 05:04:17

标签: java stack

尝试学习使用堆栈。我的推送方法出了什么问题?

        input = kbd.next();
        // pushes individual characters onto the stack
        for (int i = 0; i < input.length(); i++) {

            Character ch = input.charAt(i);
            stack.push(ch);

 public void push (T element)
 {
   //System.out.print("\n");
   // System.out.print(element);



   if (size() == stack.length) {
       expandCapacity();}

       stack[top] = element;
       top++;        

我在Stack中的推送方法使用泛型,所以我想知道为什么字符不会进入。还用字符串测试。我认为这是关于Java的特定内容,而不是我没有正确编写push()方法。

1 个答案:

答案 0 :(得分:0)

可能的原因是带有字符串的输入对方法不可访问,要解决,可以使用两种方法(可能是任何其他方法)。

1)

写输入= kbd.next();在方法的一面;

  public void charToStack() { 
 input = kbd.next();

for (int i = 0; i < input.length(); i++) {

      Character ch = input.charAt(i); 
      stack.push(ch);


}

}

2)从keyBoard

获取输入后,将输入值传递给方法
  public void charToStack(String input) { 

  for (int i = 0; i < input.length(); i++) {

   Character ch = input.charAt(i); 
   stack.push(ch);


}