在JOptionPane中使用包含变量的字符串

时间:2009-11-28 17:28:45

标签: java

我正在尝试使用“if”语句构建一个字符串,然后使用构建的字符串在JOptionPane中显示。

//If the value is zero, don't show the line item
 if (intLays > 0)
 strBuiltOrder = "intSnickers + \"Snickers\" + \"\\n\"";

最后,每个变量都有一个行项目,其值大于零。但问题是,当我在JOptionPane中使用它时,它会输出文字。

intSnickers + \"Snickers\" + \"\\n\"

无论如何我可以构建一个字符串以插入到JOptionPane中,或者如果它们的值为零,还有另一种方法来保留JOptionPane中的变量吗?

4 个答案:

答案 0 :(得分:1)

按照我自己的假设,也许你正在寻找这个:

//If the value is zero, don't show the line item
 if (intLays > 0)
 strBuiltOrder = intSnickers + "\"Snickers\"" + "\"\\n\"";

我希望这有助于,或者至少指出你正确的方向,当我更多地了解预期的输出时,我可以尝试进一步帮助你。

答案 1 :(得分:1)

你有没有理由逃脱报价和反斜杠?以下可能符合您的期望:

if (intLays > 0) {
    strBuiltOrder = intSnickers + "Snickers\n";
}

如果你想构建一个更复杂的字符串,你可以查看StringBuilder或StringBuffer对象。

答案 2 :(得分:0)

尝试使用StringBuilder而不是使用String,那么您将不会遇到该语句的语法问题。所以你的代码可能是这样的:

StringBuilder sb = new StringBuilder(...);
...

if (intLays > 0)
    sb.append(intSnickers).append("Snickers\n");

字符串是不可变的,因此最好使用StringBuilder或StringBuffer之类的东西。

答案 3 :(得分:0)

解决方案是:

 if (intSnickers > 0)
                         BuiltOrder.append( intSnickers + "Snickers" + "\n");

这是为了连接一个字符串并将其插入到JOptionPane中。我仍然有点困惑为什么它以这种方式工作,而不是我的方式,但是,哦,好吧......