2017-02-21 44 views
1

Когда я запустил это, он отобразит два входа вместе. Например, 1 + 2 выйдет до 12. Я знаю, что эту строку нужно каким-то образом изменить на целое число, но я теряюсь на том, как это сделать. Любая помощь приветствуется.Невозможно добавить/вычесть/размножить/разделить два числа из двух текстовых полей

private void  
jButton5ActionPerformed(java.awt.event.ActionEvent evt) {       
jLabel1.setText (String.valueOf(jTextField1.getText() + 
jTextField2.getText())); 

ответ

2

Значения от JTextFields - это строки. Если вы хотите сделать арифметику на них, вы должны отнести их к соответствующему числовому типу типа Integer или Double.

jLabel1.setText(String.valueOf(Integer.parseInt(jTextField1.getText()) + Integer.parseInt(jTextField2.getText())));

+0

'setText()' method ожидает аргумент 'String', а не' int'. Вам нужно преобразовать 'int' в' String' внутри скобок. – Yousaf

0

getText() метод возвращает String, так что вам не нужно использовать String.valueOf() метод, поскольку он используется для преобразования значения non-string типа для String значения типа.

Для преобразования String в int, используйте метод Integer.ParseInt()

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { 

    jLabel1.setText (String.valueOf(Integer.parseInt(jTextField1.getText()) + 
    Integer.parseInt(jTextField2.getText()))); 
} 
0

Я знаю, что эта строка должна быть как-то изменить на целое число, но я теряюсь о том, как сделать это.

Вы правы. Это действительно проблема. Извлечение номера строки в int очень легко, используя метод Integer.parseInt.

private void  
jButton5ActionPerformed(java.awt.event.ActionEvent evt) {       
jLabel1.setText (String.valueOf(Integer.parseInt(jTextField1.getText()) + 
Initeger.parseInt(jTextField2.getText())));