0

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

示例: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);
}
4

2 回答 2

2

这是因为当您+对 String 使用运算符时,它不会添加它,而是 concat 2 个字符串,因为字符串不必总是包含一个数字。因此,您必须首先将字符串转换为 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(). 这是因为有些人可以编写一个无法转换为 int 的字符串"a324ad"

于 2011-06-20T12:25:37.593 回答
1

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

尝试

String x = jTextField1.getText();
String y = jTextField2.getText();
jTextField3.setText(Integer.toString(Integer.parseInt(x) + Integer.parseInt(y)));
于 2011-06-20T12:21:38.943 回答