我有一些JTextfield
根据特定事件进行更改,例如,如果勾选了一个框,则文本字段的内容会从0
更改为35
。
我正在尝试将文本字段的值添加到一起,但似乎无法做到。
int f1 = 35;
int f2 = 18;
apple.setText("" + f1);
pear.setText("" + f2);
这是我到目前为止所拥有的
int result = Integer.parseInt(apple.getText() + Integer.parseInt(pear.getText());
total.setText("" + result);
当我需要将3518
和f1
加在一起时,结果会给我f2
答案 0 :(得分:2)
你正在做的是首先连接两个字符串,然后解析生成的字符串 - 而不是你想要的。您要做的是在之前单独解析文本将它们添加到一起。
try {
int appleInt = Integer.parseInt(apple.getText());
int pearInt = Integer.parseInt(pear.getText());
int result = appleInt + pearInt;
// do something with result
} catch (NumberFormatException nfe) {
// warn user that text is wrong
// clear text fields
}
答案 1 :(得分:0)
你应该做
int result = Integer.parseInt(apple.getText()) + Integer.parseInt(pear.getText());
您的代码首先将pear文本转换为Integer并将其总和为Apple文本String(int + String = String),然后将total转换为Integer,但是当将int与String相加时,您只将两者连接起来值;相反,你需要将字符串转换为整数然后将它们相加。
不要忘记检查字符串的值是否实际为整数,否则程序将抛出NumberFormatException。
答案 2 :(得分:0)
试试这个
int result = Integer.parseInt(apple.getText()) + Integer.parseInt(pear.getText());
而不是:
int result = Integer.parseInt(apple.getText() + Integer.parseInt(pear.getText());
这里我实际上已经单独解析了apple.getText()
和pear.getText()
,然后添加了整数来获得结果。在您上传的代码中,您基本上将apple.getText()
与整数解析后的值pear.getText()