Буферизированный (потоковый) ввод-вывод. Часть II
7.1.8. Вывод средствами языка Java
Вывод в стандартные потоки вывода и ошибок символьных данных средствами языка Java возможен при использовании следующих функций:
- println ;
- print.
Рассмотрим эти функции поподробнее.
Пример 7.9.
/* File ex07009.java */
/* Функция реализует простейший диалог между ЭВМ и человеком с условием */
/* Данный пример тестировался на компиляторе Sun J2EE SDK 1.6) */
/* Данный пример требует наличие компилированного класса SavitchIn */
import java.io.*;
import java.util.*;
// Файл ex07009.java
public class ex07009
{
public static void main( String[] args )
{
/* Определение переменных */
int Age;
String Name, junk;
/* Начало диалога (ввод данных пользователя */
System.out.print("Введите Ваше имя: ");
Name = SavitchIn.readLine();
System.out.print( "Введите Ваш возраст: " );
Age = SavitchIn.readLineInt();
/* Проверка условия и вывод диалога */
if( Age < 40 )
System.out.println( "Добрый день, Молодой человек!" );
else
System.out.println( "Добрый день, Папаша!" );
System.out.println( "Ваш возраст, " + Name + ", - " + Age +" лет." );
/* Завершение работы программы */
System.out.println( "Press key Enter to exit..." );
junk = SavitchIn.readLine();
}
}
Листинг
7.9.
Реализация алгоритма из примера 7.2.
7.2. Резюме стандартного буферизированного ввода-вывода
На данной лекции Вы познакомились с описанием функций буферизированного (потокового) вывода в стандартный поток вывода и, частично, в стандартный поток ошибок. На этой лекции Вы "закрепили и развили" содержание "Буферизированный (потоковый) ввод-вывод" данного курса, и теперь можете свободно писать программы-фильтры для работы с текстом в любой операционной системе - был бы только подходящий инструментарий.
С помощью полученных знаний Вы можете писать диалоговые программы, в том числе и первые "диалоговые игровые программы", столь популярные на компьютерах образца 80-х годов XX века.
Однако для того чтобы писать более "продвинутые" программы, требующие работы с файлами, Вам потребуются функции создания, закрытия и манипулирования файловыми потоками. Об этом - в следующих лекциях.
7.3. Приложение №1
Функции вывода данных в стандартный поток вывода языка Си.
| ФУНКЦИЯ: | puts |
| ОПРЕДЕЛЕНА В: | <stdio.h> |
| СИНТАКСИС: |
int puts( s ); const char *; |
| НАЗНАЧЕНИЕ: | Функция выводит строку в поток stdout ; |
| ОПИСАНИЕ: | Функция puts копирует строку символов с нулевым окончанием '\0' в поток стандартного вывода stdout, причём добавляет в конец символ перехода на новую строку (т.е. заменяет символ '\0' на строку символов "\r\n\0") ; |
| ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: | При успешном завершении функция puts возвращает ненулевое значение. В противном случае возвращается значение EOF ; |
| ПЕРЕНОСИМОСТЬ: | Данная функция поддерживается в операционных системах, основанных на UNIX, содержится в стандарте ANSI C. |
| ФУНКЦИЯ: | putchar |
| ОПРЕДЕЛЕНА В: | <stdio.h> |
| СИНТАКСИС: |
int putchar( c ); int c; |
| НАЗНАЧЕНИЕ: | Функция выводит символ в поток stdout ; |
| ОПИСАНИЕ: | putchar - это макрокоманда, определённая как putc( c, stdout) ; |
| ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: | При успешном завершении функция возвращает выведенный символ c. При ошибке она возвращает EOF ; |
| ПЕРЕНОСИМОСТЬ: | Функция поддерживается в операционных системах UNIX, стандарте ANSI C, и определена в стандарте Кернигана и Ритчи. |