2016-12-06 6 views
-6

У меня есть следующие два утверждения:System.out.write ничего не печатает?

System.out.write(2); //Give nothing 
System.out.print(2); //prints "2" in console 

Так почему же писать заявление не пишет - «2» - в консоли?

+0

Вы проверили [API для PrintStream] (http://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html) первым? Один пишет байтом другой символ - и это большая разница. –

+0

PrintStream? Почему это необходимо. Я просто занимаюсь «System.out» –

+1

@AsjadAzeez ... потому что 'System.out' имеет тип' PrintStream'. Все в Java имеет тип. Я рекомендую прочитать несколько руководств о том, как типы работают на Java. – Qix

ответ

3

Во-первых, ASCII 2 не имеет отображаемую глиф (это специальный символ СТК - начало текста). Используйте литерал char. Кроме того, вам необходимо flush. Мол,

System.out.write('2'); 
System.out.flush(); 
+0

Спасибо Elliott Frisch, я понял, что мне не хватает флеша, и просто сослался на некоторые заметки на флеш. –

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