Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现堆栈:堆栈中的推送字符为空_Java_Stack - Fatal编程技术网

Java 实现堆栈:堆栈中的推送字符为空

Java 实现堆栈:堆栈中的推送字符为空,java,stack,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); 我在堆栈中的push方法使用泛型,所

尝试学习使用堆栈。我的推送方式有什么问题

        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);

我在堆栈中的push方法使用泛型,所以我想知道为什么字符不进入。还使用字符串进行了测试。我认为这是Java的一个特点,而不是我没有正确编码push()方法。

可能的原因是该方法无法访问带有字符串的输入,要解决这个问题,可以使用两个方法(可能是任何其他方法)

(一)

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

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

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

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


}
public void charToStack(){
输入=kbd.next();
对于(int i=0;i
}

2) 从键盘获取输入后,将输入值传递给方法

  public void charToStack(String input) { 

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

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


}
public void charToStack(字符串输入){
对于(int i=0;i
您遇到了什么异常?stacktrace?@AniketThakur他/她明确表示问题在于堆栈中填充了null,而不是引发了异常。无。只是调试了print语句。我将print语句放在push()中的行之前方法,所有操作都正常工作,除了应该包含我的名字的6个数组元素包含空值。感谢您的回复。@user3102978通过使用调试器逐步完成此操作,您发现了什么?向我们展示您的所有ArrayStack类。我尤其对您的expandCapacity方法以及您正在使用的任何方法感兴趣从中检索(通常称为“pop”)。还有人愿意提供一些信息吗?
  public void charToStack(String input) { 

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

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


}