Добавление текстовых полей в форму (JAVA, Netbeans 7) - PullRequest
0 голосов
/ 20 июня 2011

Я новичок в сфере 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);
}

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Это потому, что когда вы используете оператор + для String, он не будет добавлять его, а будет объединять 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".

1 голос
/ 20 июня 2011

Оператор + для строкового типа данных объединяет строки.Если вы пытаетесь добавить два числа, введенные в текстовые поля, вам необходимо преобразовать их в числовой тип данных.Для Integer вы можете использовать Integer.parseInt().

Попробуйте

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