getText()方法不适用于整数

时间:2017-11-16 07:10:46

标签: java

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?不同,因为我查看了那里的答案,但我们的代码并没有真正起作用。

2 个答案:

答案 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));