1

我对这一切都很陌生,但我试图弄清楚如何将所有以下结果(现在显示在单独的消息对话框中,彼此紧随其后)到单个消息对话框窗口中。

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.");
    }
4

1 回答 1

2

而不是在每个 if 语句中创建一个JOptionPane内部,您只需要最后一个。您的 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"字符添加到您希望它移动到新行的任何位置。

于 2014-07-22T04:16:22.387 回答