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