繁体   English   中英

Java JOptionPane与LIFO堆栈的

[英]Java JOptionPane with LIFO stack's

我正在上一门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.
        }

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM