2014-01-20 3 views
1

При ответе вы сохраняли смену программирования до минимума. Я продолжаю получать ту же ошибку:Ошибка «int не может быть разыменована»

int cannot be dereferenced 

У меня есть текстовое поле, где пользователь вводит целое число, и то, что я пытаюсь сделать, это получить, что ввод и сохранить его в переменной. Переменная текстового поля: pricePay. Я мог бы предоставить дополнительную информацию, если это необходимо, я помещаю эту строку кода в неправильное место? я что-то упускаю?

private void pricePayActionPerformed(java.awt.event.ActionEvent evt) {           
    int pricePay = Integer.parseInt(pricePay.getText()); 
}           
+1

вы вызываете локальную переменную ('int pricePay') с тем же именем текстового поля' pricePay'. Эта строка в порядке, но в следующих строках вы будете действовать на целое число, а не на текстовое поле. –

ответ

2

Когда вы пишете

int pricePay = Integer.parseInt(pricePay.getText()); 
           ↑ 
          an int 

Тогда pricePay становится int, она будет скрывать члену данные,pricePay.

С int примитивен, он не имеет методов, включая getText(), следовательно, ошибка "int cannot be dereferenced". Вы можете сделать:

int pricePay = Integer.parseInt(this.pricePay.getText()); 
           ↑ 

Или (лучше) изменить имя переменной, которую вы объявляете в методе.

Смежные вопросы