Использование строки, содержащей переменные в JOptionPane - PullRequest
0 голосов
/ 28 ноября 2009

Я пытаюсь построить строку, используя операторы 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 ]

1 голос
/ 28 ноября 2009

Есть ли причина, по которой вы избегаете кавычек и обратной косой черты? Следующее, вероятно, делает то, что вы ожидаете:

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

Если вы хотите построить более сложную строку, вы можете посмотреть на объекты StringBuilder или StringBuffer.

1 голос
/ 28 ноября 2009

По моим собственным предположениям, может быть, вы искали это:

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

Я надеюсь, что это поможет или, по крайней мере, укажет вам правильное направление, когда я пойму больше об ожидаемом результате, я могу попытаться помочь вам в дальнейшем.

0 голосов
/ 01 декабря 2009

Решение было:

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

Это предназначено для объединения строки и вставки ее в JOptionPane. Я все еще не совсем понимаю, почему это работает так, а не так, как у меня, но, о, хорошо ...

0 голосов
/ 28 ноября 2009

Вместо использования String, попробуйте использовать StringBuilder, тогда у вас не будет проблем с синтаксисом этого оператора. Таким образом, ваш код может быть что-то вроде:

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

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

Строки являются неизменяемыми, поэтому лучше использовать что-то вроде StringBuilder или StringBuffer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...