尝试学习使用堆栈。我的推送方法出了什么问题?
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()方法。
答案 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);
}