это мой код, проблема в том, что если я введу слово, состоящее из более чем одного символа, меня больше не попросят ввести слово из одного символа.
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);
}
Почему ваша программа должна читать несколько символов? внутри цикла вы читаете один символ и устанавливаете для переменной условия цикла esCorrecto значение true, выходя из цикла. Если вы хотите продолжать цикл, вам нужно изменить условие цикла.
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
@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




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