Символ чтения Java от System.in

это мой код, проблема в том, что если я введу слово, состоящее из более чем одного символа, меня больше не попросят ввести слово из одного символа.

public static String datoStringChar() {
    //EN casa de introducir mas de una letra coje la primera
    // Entorno:
    InputStreamReader br;

    char letra;
    boolean esCorrecto;
    //Algoritmo
    letra = '0';
    br = new InputStreamReader(System.in);
    try {
        do {
            letra = (char) br.read();
            esCorrecto = true;
        } while (!esCorrecto);
    } catch (IOException ioe) {
        System.err.println("Error I/O");

    }
    return Character.toString(letra);
}

Я вообще не вижу подсказки.

shmosel 07.05.2018 23:00

Почему ваша программа должна читать несколько символов? внутри цикла вы читаете один символ и устанавливаете для переменной условия цикла esCorrecto значение true, выходя из цикла. Если вы хотите продолжать цикл, вам нужно изменить условие цикла.

Turing85 07.05.2018 23:05

Por que no estas chequeando si le letra q acabas de ingresar esigual a la letra letra = 0. Соло esCorrecto = true удаляет цикл праймера. Tienes q tener otro variable q se llama algo como nuevaLetra=(char) br.read(); y tienes q chequear si if (nuevaLetra == letra) { esCorrecto = true}. Нет, нет значения true и переменной esCorrecto. Asi el programa va repitiendo y pidiendo q ingreses una letra hasta q la letra q ingreses sea igual a la letra q tienes en el variable letra

Jabari Dash 07.05.2018 23:10

@JabariDash Hola, gracias por Responder, pero eso sería si lo que quieres que solo una letra sea leida, pero no me habré expresado muy bien seguramente, ruego que me disculpes por esto, queria pedir, que si ingresas "hola", te lo rechace, ya que este programa slo coge la "h" y lo convierte en un char, pero lo que quiero que haga es que solo te deje meter un caracter, a-zA-Z 0-9 или cualquier otro del codigo ascii

user7407723 07.05.2018 23:44
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
47
0

Другие вопросы по теме