Java JOptionPane with LIFO stack's



我正在上java课程,现在我遇到了一个问题,这个问题可能非常明显和清楚,但我在互联网上找不到任何答案,所以我决定来这里亲自问你们。

所以。。JOpitionPane显示后进先出堆栈。在下面的代码中,我使用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.
        }

您可以在内存中构建字符串,然后将其用作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, ....);

最新更新