Foros del Web » Programación para mayores de 30 ;) » Java »

Comparacion de cadenas

Estas en el tema de Comparacion de cadenas en el foro de Java en Foros del Web. Hola tengo una duda tengo este código pero quiero hacerlo funcionar mejor con un evento keyreleased Código PHP:  v2  =  Buscar . getText ();      ...
  #1 (permalink)  
Antiguo 21/02/2014, 09:35
 
Fecha de Ingreso: febrero-2014
Ubicación: Chiapas
Mensajes: 10
Antigüedad: 10 años, 2 meses
Puntos: 0
Exclamación Comparacion de cadenas

Hola tengo una duda tengo este código pero quiero hacerlo funcionar mejor con un evento keyreleased

Código PHP:
 v2 Buscar.getText();
    
v2.charAt(0);
    
v3 "";

        for (
int i=0;i<Cadena.getText().length();i++)
        {
            if(
String.valueOf(Cadena.getText().charAt(i)).toUpperCase().equals(String.valueOf(v2).toUpperCase()))
            {
                
v3 += +", ";
                
Pos.setText(v3);                
            }
            else
            {
                
Pos.setText("¡Este caracter no existe!");
            }
        } 
El detalle es este si escribo hola, busco los caracteres
H,O,L,A si estan me muestra sus pociones pero si no estan en la cadena me tiene que decir que el caracter no existe mi problem es que preciono una tecla y me muestra su posicion pero si preciono las demas me dice q no existe aunque este en la cadena cual es mi error?

espero averme explicado
  #2 (permalink)  
Antiguo 24/02/2014, 08:37
Avatar de floppy-dj  
Fecha de Ingreso: diciembre-2006
Ubicación: Huelva
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Comparacion de cadenas

Has probado usando Cadena.getText().subString(i).equals(v2)

de todas formas a mi me haría falta ver algo mas de código, según lo que se ve aquí siempre se asignas a b el primer carácter de v2, si v2 es la palabra entera que quieres buscar, deberías decirle en algún momento que una vez encontrada la primera, buscara luego la siguiente hasta que se quede sin letras, tambien parece que si entra en el if, y le da un valor a "pos", pero luego vuelve a entrar con otra i diferente, entra en el else y machaca ese "pos" con "¡Este caracter no existe!"

si puedes explicar un poco mejor el codigo podria intentar ayudarte

Última edición por floppy-dj; 24/02/2014 a las 08:44
  #3 (permalink)  
Antiguo 25/02/2014, 10:16
Avatar de peg
peg
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Comparacion de cadenas

Bueno según veo en tu código, el error es el siguiente
if(String.valueOf(Cadena.getText().charAt(i)).toUp perCase().equals(String.valueOf(v2).toUpperCase()))

si eso esta en un key release, lo que sucede es, que la primera ves v2 es igual al primer caracter de la cadena que capturaste en Buscar.getText(), mientras que cuando ingresas el siguiente caracter ya la cosa cambia porque no es un caracter si no 2 te explico en un ejemplo.

cadena = "hola"
buscar = "h"

resultado if = true para todo los i posibles donde se encuentre el caracter h en la cadena,

ahora cuando presionas otra teclas seria:
cadena = "hola"
buscar = "ho"

resultado if = false para todo los i posibles por que estas comparando cada caracter de la cadena con la cadena "ho"

bueno creo que ese es tu problema, corrígeme si me equivoco porfa que estamos para aprender

Etiquetas: cadenas, comparacion, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.