private JTextField resultTextField;
resultTextField.setText(" "); ...
private class InputListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Stack<Integer> operandStack = new Stack<Integer>();
Stack<Character> operatorStack = new Stack<Character>();
String input = inputTextField.getText();
StringTokenizer strToken = new StringTokenizer(input, " ", false);
while (strToken.hasMoreTokens())
{
String i = strToken.nextToken();
int operand;
char operator;
try
{
operand = Integer.parseInt(i);
operandStack.push(operand);
}
catch (NumberFormatException nfe)
{
operator = i.charAt(0);
operatorStack.push(operator);
}
}
int result = sum (operandStack, operatorStack);
resultTextField.setText(result);
Последняя строка, которая гласит: «resultTextField.setText (result);» в представленном коде, я пытаюсь преобразовать переменную «result» в String, но не имеет успеха. Сообщение об ошибке при компиляции я получаю:Преобразование int в строку
PrefixExpression.java:96: error: method setText in class JTextComponent cannot be applied to given types; resultTextField.setText(result); ^ required: String found: int reason: actual argument int cannot be converted to String by method invocation conversion.
Я пробовал несколько методов, которые уже предусмотрены в ответах на другие «новообращенного междунар в строку» вопросов здесь, но ни один из них не работает. Как преобразовать «результат» в строку? Спасибо за вашу помощь.
Покажите нам методы, которые вы пробовали и то, что проблема с ними была. – RealSkeptic
В чем проблема с 'Integer.toString (result)' – silentprogrammer
@singhakash 'result' является' int', а не 'Integer'. – RealSkeptic