Duda sobre leer datos por pantalla y capturarlos

Iniciado por ZedGe, 9 Junio 2011, 17:04 PM

0 Miembros y 1 Visitante están viendo este tema.

ZedGe

Bueno tengo una ventana en Java con un panel, y lo que quiero hacer es capturar lo que el usuario ingresa en una variable X pero que sea un char:

Ejemplo:

char X:
Sexo: M o F
El usuario ingresa M y lo guardo en X

Tengo algo asi

X = String.valueOf(text1.getText());

que al comprarlo luego con un char obviamente no me funciona xD
tengo como convertir uno a otro pero es innecesario por que haria mas trabajo
espero se entienda... si tienen dudas o me exprese mal me avisan

Valkyr

¿Técnicamente text1.getText() devuelve un String verdad? ¿y tú lo que quieres es comprobar si es M o es F o que? ya que con el método equals de la clase String puedes comprobarlo, así que no entiendo tu duda.

Porque no usas un String X en vez de char X? te ahorrarías el follón.

Saludos.

ZedGe

tengo un arreglo de char con F y M

luego el usuario por una ventana ingresa con el teclado F o M
y yo lo capturo con
X = String.valueOf(text1.getText());

pero al usar equals deja un error al comparar String con char


if (X.equalsIgnoreCase(F)){
               System.out.println("Es Mujer");
               }


tira un "error" no es que no lo haga funcionar en realidad funciona pero quiero que
al leer el valor ingresado por el usuario, es decir X, lo guarde como char no como string que es lo que tengo yo

Leyer

Código (java) [Seleccionar]
char X=text1.getText().charAt(0);
if(X =='M')//...

Valkyr

Cita de: Leyer en  9 Junio 2011, 20:00 PM
Código (java) [Seleccionar]
char X=text1.getText().charAt(0);
if(X =='M')//...


Eso estaría bien, pero si el usuario ingresase "MAÑANA" el código pensaría que ha escrito tan solo "M", y bueno, no es por ser muy tiquismiquis pero...no sería del todo correcto xD. Aun así con eso se consigue solucionar.

Vamos a ver, y no sería más sencillo realizar esto:

Código (javascript) [Seleccionar]

if(text1.getText().equals("M")){
    X = 'M';
    //Realizas el resto de operaciones como mostrar mensajes por pantalla, guardar datos si es lo que quieres hacer, etc
}
else if(text1.getText().equals("F")){
    X = 'F';
    //Realizas el resto de operaciones igual que antes
}
else{
    System.out.println("En el campo 'Genero' debe aparecer M (Masculino) o F (Femenino)");
    //Si quieres realizar otras operaciones
}


Vamos, yo veo eso así mucho más sencillo que todo lo demás, pero ya lo que tu veas.

Saludos.