1306

Capítulo 30 Cadenas, caracteres y expresiones regulares

de la misma. Si el método 

lastIndexOf

 encuentra el carácter, devuelve el índice de ese carácter en la cadena; en 

caso contrario, devuelve 

–1

. Hay dos versiones de 

lastIndexOf

 que buscan caracteres en una cadena. La expre-

sión en la línea 20 utiliza la versión que recibe la representación entera del carácter. La expresión en la línea 22 
utiliza la versión que recibe dos argumentos enteros: la representación entera de un carácter y el índice a partir del 
cual debe iniciarse la búsqueda inversa de ese carácter.

En las líneas 27 a 40 se muestran las versiones de los métodos 

indexOf

 y 

lastIndexOf

 que reciben, cada una 

de ellas, un objeto 

String

 como el primer argumento. Estas versiones de los métodos se ejecutan en forma idén-

tica a las descritas anteriormente, excepto que buscan secuencias de caracteres (o subcadenas) que se especifi can 
mediante sus argumentos 

String

. Si se encuentra la subcadena, estos métodos devuelven el índice en la cadena 

del primer carácter en la subcadena.

 1 

// Fig. 30.5: MetodosIndexString.java

2

// Métodos indexOf y lastIndexOf para buscar en cadenas.

3

 4 

public class

 MetodosIndexString 

 5 

{

 6  

public static void

 main( String args[] )

 7  

{

 8   

String letras = 

"abcdefghijklmabcdefghijklm"

;

 9 
 10  

 

// prueba indexOf para localizar un carácter en una cadena

11   

System.out.printf(

 

12    

"'c' se encuentra en el indice %d\n"

, letras.indexOf( 

'c'

 ) );

 13  

 

System.out.printf(

 

14    

"'a' se encuentra en el indice %d\n"

, letras.indexOf( 

'a'

,

1

 ) );

 15  

 

System.out.printf(

 

16    

"'$' se encuentra en el indice %d\n\n"

, letras.indexOf( 

'$'

 ) );

 17 
 18  

 

// prueba lastIndexOf para buscar un carácter en una cadena

19   

System.out.printf(

"La ultima 'c' se encuentra en el indice %d\n"

,

 

20    

letras.lastIndexOf(

'c'

 ) );

 21  

 

System.out.printf(

"La ultima 'a' se encuentra en el indice %d\n"

,

 

22    

letras.lastIndexOf(

'a'

,

25

 ) );

 23  

 

System.out.printf(

"La ultima '$' se encuentra en el indice %d\n\n"

,

 

24    

letras.lastIndexOf(

'$'

 ) );

 25 
 26  

 

// prueba indexOf para localizar una subcadena en una cadena

27   

System.out.printf(

"\"def\" se encuentra en el indice %d\n"

,

 

28    

letras.indexOf(

"def"

 ) );

 29  

 

System.out.printf(

"\"def\" se encuentra en el indice %d\n"

,

 

30    

letras.indexOf(

"def"

,

7

 ) );

 31  

 

System.out.printf(

"\"hola\" se encuentra en el indice %d\n\n"

,

 

32    

letras.indexOf(

"hola"

 ) );

 33 
 34  

 

// prueba lastIndexOf para buscar una subcadena en una cadena

35   

System.out.printf(

"La ultima ocurrencia de \"def\" se encuentra en el indice 
%d\n"

,

 

36    

letras.lastIndexOf(

"def"

 ) );

 37  

 

System.out.printf(

"La ultima ocurrencia de \"def\" se encuentra en el indice 
%d\n"

,

 

38    

letras.lastIndexOf(

"def"

,

25

 ) );

 39  

 

System.out.printf(

"La ultima ocurrencia de \"hola\" se encuentra en el indice 
%d\n"

,

 

40    

letras.lastIndexOf(

"hola"

 ) );

 41  

}

// fin de main

42

}

// fin de la clase MetodosIndexString

Figura 30.5

  |  Métodos de búsqueda de la clase 

String

. (Parte 1 de 2).

30_MAQ_CAP_30_DEITEL.indd1306

5/8/084:22:34PM