我正在学习java课程,现在我陷入了一个可能非常明显和清晰的问题,但我无法在互联网上找到任何答案,所以我决定来这里并亲自问你们。
所以.. JOpitionPane显示LIFO(后进先出)堆栈。 在下面的代码中,我使用System.out.println作为示例来显示我想要它做什么。我需要它做的是在JOptionPane.showMessageDialog框中显示它。 我不知道怎么弄清楚,创建一个数组来叠加你想要显示的数量是我的猜测,但我不知道如何从这里向前推进。
非常感谢能回答我问题的人。
这是我对这个问题的简化代码文本。
import java.util.Stack;
import javax.swing.JOptionPane;
public class Test1 {
public static void main(String args[]) {
new Test1();
}
public Test1() {
boolean status = false;
Stack<String> lifo = new Stack<>();
while (!status) {
String s = (JOptionPane.showInputDialog("Write something"));
if (s == null) {
status = true;
} else {
lifo.add(s);
}
}
if (status == true) {
Double num = Double.parseDouble(JOptionPane.showInputDialog("How many of latest Input would you like to see?"));
for (int i = 0; i < num; i++) {
System.out.println(lifo.pop()); //Here is where i would want
System.out.print(','); //JOptionPane.showMessageDialog instead.
}
答案 0 :(得分:0)
您将在内存中构建字符串,然后将其用作showMessageDialog的消息。类似的东西:
String msg = "";
for (int i = 0; i < num; i++) {
if (i > 0)
msg += ","; // could replace this with a newline to have the numbers stacked
msg += lifo.pop();
}
JOptionPane.showMessageDialog("title", msg, ....);