【发布时间】:2015-06-18 01:44:20
【问题描述】:
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);”在提供的代码中,我试图将“结果”变量转换为字符串但没有成功。我得到的编译错误信息是:
PrefixExpression.java:96:错误:类 JTextComponent 中的方法 setText 不能应用于给定类型;
resultTextField.setText(结果);
^
必需:字符串
找到:int
原因:实参int不能通过方法调用转换为String。
我已经尝试了几种方法,这些方法已经在此处对其他“将 int 转换为字符串”问题的回答中提供,但它们都不起作用。如何将“结果”转换为字符串?感谢您的帮助。
【问题讨论】:
-
向我们展示您尝试过的方法以及它们的问题所在。
-
Integer.toString(result)有什么问题 -
@singhakash
result是int,而不是Integer。
标签: java