Piszę prosty projekt konsolowy w Javie (projekt w NetBeans 8.2), ale fragment kodu (oznaczony na listingach) nie chce się wykonać, mimo że ja uważam, że powinien.
Program wykonuje pewien algorytm, a jego wyniki wypisuję do konsoli metodą z mojej własnej klasy ConsoleReadWrite.write
.
Metoda main
wygląda tak:
public static void main(String[] args)
{
// tu inicjalizacja zmiennych, obliczenia algorytmu
System.out.println("To jeszcze wypisuje");
ConsoleReadWrite.write(swapCount);
System.out.println("Tego juz nie wypisuje :(");
}
Natomiast moja metoda write
wygląda tak:
public class ConsoleReadWrite
{
// tu inne metody
public static void write(int output)
{
try (BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(System.out)
)) {
bw.write(String.valueOf(output)); // tu wypisuje poprawną odpowiedź
bw.newLine();
bw.flush();
System.out.println("To jeszcze wypisuje");
} catch (IOException ex) {
// tu wypisz wyjątek do konsoli
}
System.out.println("Tego juz nie wypisuje :(");
}
}
Program kończy się bez błędów – BUILD SUCCESSFUL (total time: 0 seconds)
. Nie pomogło wyczyszczenie projektu ani stworzenie go na nowo. Może wy znajdziecie. Dlaczego w miejscach, w których są komentarze, nie wypisuje? Może nie powinien jednak wypisywać?