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

[SOLUCIONADO] Guardar posición

Estas en el tema de Guardar posición en el foro de Java en Foros del Web. Que tal? Apenas empiezo Java manejando el IDE NetBeans y resulta que nos han puesto a trabajar un programa que: "Evalúe una frase ingresada por ...
  #1 (permalink)  
Antiguo 12/10/2015, 15:32
Avatar de Ronald_Jav  
Fecha de Ingreso: octubre-2015
Mensajes: 7
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta Guardar posición

Que tal?

Apenas empiezo Java manejando el IDE NetBeans y resulta que nos han puesto a trabajar un programa que:

"Evalúe una frase ingresada por consola y me devuelva las posiciones donde están ubicadas ciertas palabras".

Supongamos que quiero encontrar la palabra "zapato", entonces yo ingreso: "quiero mi zapato" me debe devolver algo como: "La palabra 'zapato' está en la posición 10", esto lo hago con la orden indexOf que me resulta muy sencillo. Pero ¿si hay varias palabras?¿o si quiero encontrar más palabras y están en distintas posiciones? supongamos, quiero encontrar:"zapato","chaleco","camisa" y "medias" si ingreso una de ellas quiero saber la posición (número) donde está, pero también si hay 3 veces "zapato" o si hay 2 veces "camisa", etc. me debe devolver las posiciones. En fin me puse a trabajar el código y di con esto:

Código PHP:

public class programa {

    public static 
void main(String args[]) {

        
String frase = new String();
        
int buzap 0bucam 0bumed 0bucha 0bupan 0;
        
int var = 0;

        
Scanner test = new Scanner(System.in);

        
System.out.println("Insertar un texto: ");
        
frase test.nextLine();

        for (
int i 0100) {

            
buzap frase.indexOf("zapato"buzap);
            
bucam frase.indexOf("camisa"bucam);
            
bumed frase.indexOf("media"bumed);
            
bucha frase.indexOf("chaleco"bucha);
            
bupan frase.indexOf("pantalón"bupan);

            if (
buzap > -1) {
                
                var = 
buzap;
                
buzap buzap 1;
                
            } 
           
           
//Esta misma condición aplicaria para 'bucam', 'bumed', 'bucha', 'bupan' //
            
            
else {
                break;
            }

        }

    }




Si ven el code estoy guardando todo en la misma variable, lo cual es inútil, la otra forma seria colocar un System.out.println después de la línea "var = buzap" pero si hago esto estaría haciendo algún tipo de 'SPAM', lo que quiero es que al final me diga la posición de las palabras si se ingresó... Como verán soy nuevo en esto, he entendido hasta cierto punto y por esto comento mi duda. Gracias
  #2 (permalink)  
Antiguo 13/10/2015, 00:30
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 9 meses
Puntos: 182
Respuesta: Guardar posición

Buenas,

Lo mas correcto en este caso seria utilizar expresiones regulares. Te dejo un buen tutorial de expresiones regulares en Java para que lo trabajes:

http://www.tutorialspoint.com/java/j...xpressions.htm

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 15/10/2015, 10:59
Avatar de Ronald_Jav  
Fecha de Ingreso: octubre-2015
Mensajes: 7
Antigüedad: 8 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Guardar posición

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Lo mas correcto en este caso seria utilizar expresiones regulares. Te dejo un buen tutorial de expresiones regulares en Java para que lo trabajes:

[url]http://www.tutorialspoint.com/java/java_regular_expressions.htm[/url]

Un saludo
Muchas gracias amigos, muy interesante el tema de Expresiones regulares

Etiquetas: netbeans, programa, 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 18:44.