textfield2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent actionevent)
{
String input = textfield2.getText();
Output2.setText("Your age is " + (2017-input));
}
});
button2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent actioneven)
{
String input = textfield2.getText();
Output2.setText("Your age is " + (2017 -input));
}
});
我试图从用户那里得到一个数字(一个整数)并从2017年减去该数字。它给出一个错误,说它是一个字符串,我不能从字符串中减去一个数字。当我将String input
更改为int input
时,它会再次出错。它说我不能使用getText()
。我尝试了一些方法,例如parseInt()
,但它没有用。我该如何解决这个问题?
我的问题与How to convert a String to an int in Java?不同,因为我查看了那里的答案,但我们的代码并没有真正起作用。
答案 0 :(得分:1)
您必须将从TextField获得的String
转换为Integer
你可以通过
来做到这一点Integer.parseInt(string);
Integer.valueOf(string);
在你的情况下,你可以这样做。
Output2.setText("Your age is " + (2017 - Integer.parseInt(input)));
或
Output2.setText("Your age is " + (2017 - Integer.valueOf(input)));
答案 1 :(得分:1)
您需要在减去输入之前先解析输入
int input = Integer.parseInt(textfield2.getText());
Output2.setText("Your age is " + (2017 -input));