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

Funcion que devuelva la posiciones de una letra dento de un String

Estas en el tema de Funcion que devuelva la posiciones de una letra dento de un String en el foro de Java en Foros del Web. Buenos dias, alguien me podria ayudar a hacer una funcion que devuelva un string con las posiciones en las que una letra se encuentra dentro ...
  #1 (permalink)  
Antiguo 23/04/2010, 05:08
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 9 meses
Puntos: 26
Funcion que devuelva la posiciones de una letra dento de un String

Buenos dias, alguien me podria ayudar a hacer una funcion que devuelva un string con las posiciones en las que una letra se encuentra dentro de un string?

Estaba probando esto, pero no me devuelve todas las posiciones.

Código:
public String compararLetra(char l, String palabra){
        int pos = 0;
        String aux;
        aux+=palabra.indexOf( l, pos+1);
        return aux;
}
Gracias de antemano
  #2 (permalink)  
Antiguo 23/04/2010, 06:27
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 21 años, 3 meses
Puntos: 4
Respuesta: Funcion que devuelva la posiciones de una letra dento de un String

Hola

Eso lo puedes hacer con la funcion substring, puedes extraer parte del string
pasando como parametro el un comienzo y limite de la sub cadena que quieras extraer.

Código Javascript:
Ver original
  1. String cadena = "cadena";
  2.  
  3. System.out.println(cadena.substring(0,1)); // Esto te devuelve "ca" que son los indices 0 y 1 de la cadena.

Mas info...

http://java.sun.com/j2se/1.4.2/docs/...ng/String.html

Saludos...
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #3 (permalink)  
Antiguo 23/04/2010, 06:29
 
Fecha de Ingreso: abril-2009
Ubicación: EN MI CASA
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Funcion que devuelva la posiciones de una letra dento de un String

Saludo man prueba esta codigo aver que tal

String nombrePalabra = "EJEMPLO";
char palabraBuscar = 'M';
int cont =0;

for(int i=0; i < nombrePalabra.length(); i++ ){

if( nombrePalabra.charAt(i)== palabraBuscar){
System.out.println("La palabra que esta buscando es " + palabraBuscar);
System.out.println("La posicion de la palabra es " + i);
}
}
  #4 (permalink)  
Antiguo 24/04/2010, 13:12
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 6 meses
Puntos: 12
De acuerdo Respuesta: Funcion que devuelva la posiciones de una letra dento de un String

Lo mas acorde es con un pequeño metodo, pues esta la posibilidad de que la letra este mas de una vez en la palabra, y tambien se puede dar la posibilidad de que la posicion tenga dos cifras, por lo tanto se tiene que separar dichas cifras al menos por comas, si lo que se quiere es trabajar con un string; El metodo y su utilizacion serian asi:

Código PHP:
/**
 * @(#)EjemploFuncion.java
 *
 *
 * @author Calichecal 
 * @version 1.00 2010/4/24
 */

public class EjemploFuncion {
        
///////////////////metodo principal//////////////////////////////////////  
    
public static void main(String[] args) {
     
////////utlizo metodo////////////
     
String EnEstaPalabra="externocleidomastoideo" ;
     
System.out.println("Posiciones de la letra e: "+PosicionesLetra('e',EnEstaPalabra )); 
    }
  
//////////////////Metodo o funcion/////////////////////////////////////  
     
public static String PosicionesLetra(char LetraABuscar,String Enpalabra) {
         
String Posiciones=" ";
         for(
int i=0;i<Enpalabra.length();i++){
          if((int)
LetraABuscar==(int)Enpalabra.charAt(i))
              
Posiciones=Posiciones+String.valueOf(i)+", ";    
         }
       return 
Posiciones;
    }

__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-

Última edición por calichecal; 24/04/2010 a las 13:19
  #5 (permalink)  
Antiguo 24/04/2010, 16:16
Avatar de leocente  
Fecha de Ingreso: diciembre-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 4
Respuesta: Funcion que devuelva la posiciones de una letra dento de un String

Código Javascript:
Ver original
  1. public static String posicion (String cadena,char l)
  2.     {
  3.         return  cadena.indexOf(l)+"";
  4.     }

Simplemente eso

Última edición por leocente; 24/04/2010 a las 16:24
  #6 (permalink)  
Antiguo 24/04/2010, 17:30
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Funcion que devuelva la posiciones de una letra dento de un String

Cita:
Iniciado por leocente Ver Mensaje
Código Javascript:
Ver original
  1. public static String posicion (String cadena,char l)
  2.     {
  3.         return  cadena.indexOf(l)+"";
  4.     }

Simplemente eso
La idea es devolver todas las posiciones en caso de que este mas de una ves, una diferencia bastante grande

Código PHP:
    public static String PosicionesLetra(char LetraABuscar,String Enpalabra) {
         
String Posiciones=" ";
         for(
int i=0;i<Enpalabra.length();i++){
          if((int)
LetraABuscar==(int)Enpalabra.charAt(i))
              
Posiciones=Posiciones+String.valueOf(i)+", ";    
         }
       return 
Posiciones;
    } 
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #7 (permalink)  
Antiguo 25/04/2010, 04:16
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 9 meses
Puntos: 26
Respuesta: Funcion que devuelva la posiciones de una letra dento de un String

Muchísimas gracias por las respuestas!! Me han ido de maravilla. Solucionado

Etiquetas: funcion, letra, posiciones, 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:00.