2011-06-20 96 views
0

我是JAVA领域的新手,我开始玩耍。我在Netbeans中制作了一个带有3个文本框的表单。然后,我尝试添加前两个文本框,并在点击按钮后将总和放在第三个文本框中。我有以下代码,但它一起列出输出(而不是总和)。在窗体中添加文本框(JAVA,Netbeans 7)

实施例:2 + 2 = 22,3 + 34 = 334

我的代码是下面:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    String x = jTextField1.getText(); 
    String y = jTextField2.getText(); 
    jTextField3.setText(x + y); 
} 

回答

2

这是因为当你使用+运营商字符串时,它不会增加,但CONCAT两个字符串,因为它是没有必要的弦始终持有数量。所以你必须首先将你的字符串转换为int(或任何其他数字类型),然后进行求和。

试试这个:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    try{ 
    int x = Integer.parseInt(jTextField1.getText()); 
    int y = Integer.parseInt(jTextField2.getText()); 
    jTextField3.setText((x + y)+""); 
    catch(Exception e){ 
    //-- NumberFormatException hadling 
    } 
} 

通知的try..catch()。这是因为有些人可以写一个字符串,不能像"a324ad"那样转换为int。

1

+操作者对字符串数据类型连接了字符串。如果您试图添加在文本框中输入的两个数字,则需要将其转换为数字数据类型。对于Integer,您可以使用Integer.parseInt()

尝试

String x = jTextField1.getText(); 
String y = jTextField2.getText(); 
jTextField3.setText(Integer.toString(Integer.parseInt(x) + Integer.parseInt(y))); 
+0

它不会让我使用X和Y作为字符串,我不得不使用将它们设置为int以避免公式中出现错误。 – sealz

+1

@ harper89你可以使用'Integer.toString()'将int转换回String(我编辑了我的答案)。 –

+0

啊,看起来像会工作。谢谢你的提示。 – sealz