Консоль как класс Java

Одним из классов, предоставляющих дополнительные возможности чтения
и последующей типизации информации консоли (или любого другого потока), является java.util.Scanner, введенный в пятой версии языка. Также для взаимодействия с консолью применяется класс java.io.Console, введенный
в шестой версии языка.

// пример # 8 : ввод информации : UserHelper.java

package chapt01;

//подключение классов ввода

import java.io.Console;

// обработчик ошибок ввода

import java.util.InputMismatchException;

public class Helper {

//чтение информации из консоли с помощью класса Console

public void readFromConsole() {

Console con = System.console();

if (con != null) {

con.printf("Введите числовой код:");

int code = 0;

try {

code = Integer.valueOf(con.readLine());

System.out.println("Код доступа:" + code); } catch (InputMismatchException e) {

con.printf("неправильный формат кода" + e);

}

if (code != 0) {

con.printf("Введите пароль:");

String password;

char passTemp[] =

con.readPassword("Введите пароль: ");

password = new String(passTemp);

System.out.println("Пароль:" + password);

}

} else {

System.out.println("Консоль недоступна");

}

}

}

// пример # 9 : инициализация объектов и вызов методов: Runner.java

package chapt01;

public class Runner {

public static void main(String[] args) {

Helper helper = new Helper();

helper.readFromConsole();

}

}

В ответ на запрос можно ввести некоторые данные и получить следующий результат:

Введите числовой код:

1001

Введите пароль:

****

Код доступа: 1001

Пароль: pass

При вводе значения code, не являющегося цифрой, на экран будет выдано сообщение об ошибке при попытке его преобразования в целое число, так как метод valueOf() пытается преобразовать строку в целое число, не проверив предварительно, может ли быть выполнено это преобразование.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100