Подтвердить что ты не робот

Сканер для получения char

Что такое метод Scanner для получения char, возвращаемого клавиатурой на Java.

как nextLine() для String, nextInt() для int и т.д.

4b9b3361

Ответ 1

Чтобы получить char от Scanner, вы можете использовать метод findInLine.

    Scanner sc = new Scanner("abc");
    char ch = sc.findInLine(".").charAt(0);
    System.out.println(ch); // prints "a"
    System.out.println(sc.next()); // prints "bc"

Если вам нужна пучка char из Scanner, тогда может быть удобнее (возможно, временно) изменить разделитель на пустую строку. Это приведет к тому, что next() будет возвращать строку длиной-1 каждый раз.

    Scanner sc = new Scanner("abc");
    sc.useDelimiter("");
    while (sc.hasNext()) {
        System.out.println(sc.next());
    } // prints "a", "b", "c"

Ответ 2

Вы можете использовать API консоли (который появился на Java 6) следующим образом:

Console cons = System.console();
if(cons != null) {
  char c = (char) cons.reader().read();  // Checking for EOF omitted
  ...
}

Если вам нужна только одна строка, вам даже не нужно проходить через объект-читатель:

String s = cons.readLine();

Ответ 3

Класс Java Scanner не имеет встроенного метода для чтения из поэтажного символа сканера.

http://java.sun.com/javase/6/docs/api/java/util/Scanner.html

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

Scanner sc:

char c = sc.findInLine(".").charAt(0);

И вы можете использовать его для получения каждого символа в вашем сканере следующим образом:

while(sc.hasNext()){
    char c = sc.findInLine(".").charAt(0);
    System.out.println(c); //to print out every char in the scanner
}

Метод findInLine() выполняет поиск через ваш сканер и возвращает первую строку, которая соответствует регулярному выражению, которое вы ему даете.

Ответ 4

Console cons = System.console();

Вышеприведенная строка кода создает минусы в качестве нулевой ссылки. Код и вывод приведены ниже:

Console cons = System.console();
if (cons != null) {
    System.out.println("Enter single character: ");
    char c = (char) cons.reader().read();
    System.out.println(c);
}else{
    System.out.println(cons);
}

Выход:

нулевым

Код был протестирован на macbook pro с java-версией "1.6.0_37"

Ответ 5

sc.next(). charat (0)......... - метод ввода символа пользователем на основе числа, введенного во время выполнения

Пример: sc.next(). Charat (2) ------------ → → → →

Ответ 6

Scanner sc = new Scanner (System.in)
char c = sc.next().trim().charAt(0);