gpt4 book ai didi

java - 我的java方法代码有什么问题? - 堆栈

转载 作者:行者123 更新时间:2023-12-01 08:13:57 28 4
gpt4 key购买 nike

我花了几个小时创建了一个方法,该方法将从堆栈 s1 中获取 null 元素,并将它们放入 s2 中。然后该类应该打印堆栈。方法如下

import net.datastructures.ArrayStack;
import net.datastructures.Stack;
import javax.imageio.IIOException;

public class Stacks {
public static <E> void compress(Stack<E> s1, Stack<E> s2) {
int counter = 0;
while (!s1.isEmpty()) {
s1.peek();
if (s1.peek() == null) {
s1.pop();
} else if (s1.peek() == !null) {
s1.pop();
s2.push();
counter++;
}
for (counter=10;counter>s1.size(); counter--){
}
s2.pop();
s1.push();
}
}

public static void main(String[] args) {
// test method compress
Stack<Integer> S1 = new ArrayStack<Integer>(10);
S1.push(2);
S1.push(null);
S1.push(null);
S1.push(4);
S1.push(6);
S1.push(null);
Stack<Integer> s2 = new ArrayStack<Integer>(10);
s2.push(7);
s2.push(9);
System.out.println("stack S1: " + S1);
// prints: "stack S: [2, null, null, 4, 6, null]"
System.out.println("stack s2: " + s2);
// prints: "stack X: [7, 9]"
compress(S1, s2);
System.out.println("stack S1: " + S1);
// should print: "stack S: [2, 4, 6]"
System.out.println("stack s2: " + s2);
// should print: "stack X: [7, 9]"
}
}

Eclipse 为我提供了 peek() 和 push() 方法的错误;它允许 pop() 方法。据我了解,这些方法是继承的?非常感谢任何帮助!

最佳答案

else if (s1.peek() == !null) 

这是不正确的。使用这个:

else if (s1.peek() != null) 

关于java - 我的java方法代码有什么问题? - 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15029085/

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