9Окт/120
[Java] Консольный ввод/вывод
Любимое занятие - написание консольных диалоговых приложений :)
Во время работы метода System.in.read возможно возникновение исключений. Поэтому заключаем фрагмент кода, выполняющий эту функцию, в блок try-catch.
import java.util.StringTokenizer; //добавляем класс для обработки строк public class ioTest { public static void main(String args[]) { byte bKbd[] = new byte[256]; // буфер String szStr = ""; // итоговая строка StringTokenizer st; // преобразователь System.out.print("Print here: "); try { // Метод read считывает символы с клавиатуры и записывает // их в массив байт с именем bKbd. Этот метод возвращает // управление, когда пользователь закончил ввод и нажал // клавишу <Enter>. При этом в переменную iCnt записывается // количество прочитанных символов. int iCnt = System.in.read(bKbd); // Строка String содержит 16-разрядные символы Unicode. // Чтобы преобразовать массив байт в строку Unicode, мы // задаем значение старшего байта во втором параметре // конструктора, равное нулю. szStr = new String(bKbd, 0, iCnt); // Удаление символов возврата каретки и перевода строки // выполняется при помощи класса StringTokenizer, предназначенного // для разбора текстовых строк. Создавая объект этого класса, // мы передаем конструктору через второй параметр список // символов-разделителей st = new StringTokenizer(szStr, "\r\n"); // Метод nextElement возвращает первый элемент строки до разделителя, // то есть в нашем случае всю строку до символов возврата каретки и // перевода строки. szStr = new String((String)st.nextElement()); } catch(Exception ex) { System.out.println(ex.toString()); } //чисто для красоты - разделяем строку на слова String v[] = szStr.split(" "); for(int j = 0; j < v.length; j++) { System.out.println(j + "-е слово: " + v[j]); } } }
Как пользоваться:
Запускаем, внизу в консоли тыкаем в белое поле и набираем строку. Ввод заканчиваем нажатием клавиши
Как-то вот так:
Print here: Это странная консольная программа! 0-е слово: Это 1-е слово: странная 2-е слово: консольная 3-е слово: программа! Process finished with exit code 0
Комментарии (0)
Пинги (0)
(подписаться на новые комментарии в этой ветке)
Нет обратных ссылок на эту запись.
Leave a comment