Почему переменная x должна быть инициализирована при использовании класса inputstreamreader ?
импорт java.io.* ;
И2 открытый класс
{
публичный статический пустота главный(строка[] аргументы)
{
InputStreamReader e = новый InputStreamReader ( System.in) ;
int x=12 ; // заявление 1
пробовать{
х = е.читать() ;
}
catch (IOException p)
{
Системы.из.код println(" поймали ");
}
Системы.из.println(х); // заявление 2
}
}
Когда x не инициализируется в операторе 1 каким-либо значением, он выдает ошибку времени компиляции в операторе 2 и говорит, что x не инициализируется .
Но я думаю, что x должен быть инициализирован при вызове read, так как read () возвращает целое число .
Если нет, то какая концепция стоит за этим ? Пожалуйста помочь .
Что я уже пробовал:
Я запустил это на netbeans .