Я использую FindBugs для обнаружения ошибок, содержащихся в коде. Я нашел некоторые решения некоторых ошибок, однако я не могу понять, почему он все еще показывает ошибку «Возможное разыменование нулевого указателя» в строке проверки «микро». В цикле while я показал, что мой ввод должен отличаться от нулевого значения, однако он по-прежнему показывает, что ошибка существует. Если можно, подскажите, как это исправить, пожалуйста? Заранее спасибо! Код ниже:
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.Charset;
public class FindBug {
public static void main(String args[])
{
InputStreamReader reader = new InputStreamReader(System.in,Charset.defaultCharset());
BufferedReader bufferedreader = new BufferedReader(reader);
String scan = null;
boolean nextfound=false;
try
{
while(null!=(scan= bufferedreader.readLine())&&nextfound)
{
scan=scan.replace('i', 'a');
}
}
catch (IOException ioex)
{
System.err.println(ioex.getMessage());
}
if (scan.equals("micro"))
{
System.out.println("The result is macro!");
}
else
{
System.out.println("Something else!");
}
}
}
readLine()
выдает исключение - person chrylis -cautiouslyoptimistic-   schedule 04.10.2016readLine()
вызываетIO exception
, чтобы исправить это, используйте блокfinally
, закройтеbr
вfinally block
. - person Prasanna Kumar H A   schedule 04.10.2016