如何将多个if循环结果添加到单个JOptionPane消息对话框中?

时间:2014-07-22 03:44:34

标签: java if-statement joptionpane messagedialog

我对所有这一切都是新手,但我试图弄清楚如何将以下所有结果(现在显示在彼此之后的单独的消息对话框中)到一个消息对话窗口中

JOptionPane.showMessageDialog(null, "De prijs per persoon is  €" + part + ".");

    if (fnum > part){
        JOptionPane.showMessageDialog(null, fname + " krijgt  €" + (fnum - part) + " terug.");
    }
    else if (fnum < part) {
        JOptionPane.showMessageDialog(null, fname + " moet nog  €" + (part - fnum) + " betalen.");
    }
    else {
        JOptionPane.showMessageDialog(null, fname + " heeft alles betaald.");
    }


    if (snum > part){
        JOptionPane.showMessageDialog(null, sname + " krijgt  €" + (snum - part) + " terug.");
    }
    else if (snum < part) {
        JOptionPane.showMessageDialog(null, sname + " moet nog  €" + (part - snum) + " betalen.");
    }
    else {
        JOptionPane.showMessageDialog(null, sname + " heeft alles betaald.");
    }


    if (tnum > part){
        JOptionPane.showMessageDialog(null, tname + " krijgt  €" + (tnum - part) + " terug.");
    }
    else if (tnum < part) {
        JOptionPane.showMessageDialog(null, tname + " moet nog  €" + (part - tnum) + " betalen.");
    }
    else {
        JOptionPane.showMessageDialog(null, tname + " heeft alles betaald.");
    }

1 个答案:

答案 0 :(得分:2)

不是在每个if语句中创建JOptionPane,而是在结尾处只需要一个。{1>}。你的if语句实际上只是确定要显示的字符串,因此这是你需要在其中创建的唯一信息。您可以通过创建字符串变量并确定if语句中包含的内容来实现此目的。然后,一旦您的语句执行完毕,您就会创建一个包含字符串的JOptionPane。例如:

String temp;

if (fnum > part) {
    temp = fname + " krijgt  €" + (fnum - part) + " terug.";
}
else if (fnum < part) {
    temp = fname + " moet nog  €" + (part - fnum) + " betalen.";
}
else {
    temp = fname + " heeft alles betaald.";
}

JOptionPane.showMessageDialog(null, temp);

根据您的评论 - 如果您希望将字符串放在多行上,您可以在字符串中将"\n"字符添加到您想要移动到新行的任何位置。