Está en la página 1de 5

1

Objetos de tipo String

Clase String
La clase String incorporada en el paquete java.lang, define y soporta cadenas de caracteres; Por lo
tanto, las cadenas en Java son objetos el cual no se pueden modificar.

Creación de un objeto String


String cad1= “abcde”;
String cad2 = new String(“Hola”);
String cad3 = new String(cad1);

Métodos de la clase String


 length(): Devuelve la longitud del String.
Ejemplo: El siguiente trozo de programa
String texto= "tu dulzura me alimenta el alma";
int x=texto.length();
System.out.println("La frase \""+texto+"\" tiene " +x +" caracteres");

Mostrará por pantalla: La frase “tu dulzura me alimenta el alma" tiene 30 caracteres

 charAt( int): Devuelve el carácter que encuentre en la posición indicada por el parámetro.
Ejemplo: El siguiente trozo de programa
String texto= "tu dulzura me alimenta el alma";
System.out.println("El carácter que se encuentra en la posición 4 del texto es ”+texto.charAt(3)));

Mostrará por pantalla: El carácter que se encuentra en la posición 4 del texto es d

 compareTo( String ), compareToIgnoreCase( String ): Devuelve un entero menor que cero si el


String es alfabéticamente menor que la dada como argumento, cero si los dos String son léxicamente
iguales y un entero mayor que cero si el String es mayor.
Ejemplo:
String te1= “Hola”;
String te2= “hola”;
if(te1.compareToIgnoreCase(te2)==0)
System.out.println("los textos son iguales”);
else
System.out.println("los textos son distintos”);

Mostrará: Los textos son iguales

 toLowerCase(), toUpperCase(): Convierte el String a minúsculas o mayúsculas.


 trim(): Devuelve un String después de haber eliminado los espacios del principio y final del String.
 concat(String): devuelve un String que será de la unión del String y el parámetro.
 substring( int ), substring( int, int ): Devuelve una subcadena de la cadena actual, empezando por el
primer índice indicado y llegando hasta el segundo índice (si lo hubiera) o hasta el final de la cadena.
Ejemplo:
String fra,fr="Están corto el amor y tan largo el olvido";
int z =fr.indexOf(" ");
fra=fr.substring(0,z);
System.out.println("\n\nLa primera palabra de la frase: \n\t\t \""+ fr+ "\" es \""+ fra+"\"");

Mostrará por pantalla:


La primera palabra de la frase:
"Están corto el amor y tan largo el olvido" es “Están”

Prof.: Sonia Arriagada G. Lenguaje Java


2

 replace( char, char ): Reemplaza todos los caracteres iguales al primer parámetro y los sustituye por el
carácter que pasamos en segundo lugar.
 toCharArray(): devuelve un vector de caracteres del String.

Ejemplo:
String fr=”Están tan corto el amor y tan largo el olvido”;
char [] f;
f=fr.toCharArray();
System.out.println("La tercera letra de la frase “+ fr+ “ es ”+ f[2]);
Métodos estáticos de conversión
La clase String dispone de varios métodos para transformar valores de otros tipos de datos a String. Todos
se llaman valueOf y son estáticos: String.valueOf( boolean ), String.valueOf( int ), String.valueOf( long ),
String.valueOf( float ), String.valueOf( double ), String.valueOf( Object ), String.valueOf( char[] )

Ejemplo:
Si se desea tranformar una vector de caracteres a String se debería:
String texto1;
char []letras={'g', 'a', 't', 'o'};
texto1=String.valueOf(letras);
System.out.println("\n el texto transformado es: \""+texto1+"\""); // Mostrará …. Gato

Objetos de tipo String


Para comprender mejor la clase String realizaremos el siguiente ejercicio:

Realizar una clase llamada Frase la cual tendrá un String como atributo, un constructor que inicializa el
atributo con el parámetro de llegada y los siguientes métodos:

a) cantiadadVocales: Devolverá la cantidad de vocales que posee el String


b) primeraConVocal: Devolverá la primera palabra que comience con vocal, si no hubiese,
devolverá “No Hay”
c) primeraFinalizaConS: Devolverá la primera palabra que finalice con la letra s, si no hubiese,
devolverá “No Hay”

Luego hacer una aplicación que cree un objeto de tipo Frase (el texto lo ingresará el usuario) y muestre los
métodos antes descritos

public class Frase


{
private String texto;

public Frase(String t)
{ Constructor
texto=t;
}
public String getTexto()
{ Método accesador
return(texto);
}
public void setTexto(String texto)
{ Método Mutador
this.texto=texto;
}

public int cantidadVocales()

Prof.: Sonia Arriagada G. Lenguaje Java


3

{
int cont=0; Transformo lo que tiene texto a minúscula y le
String te=texto.toLowerCase().trim(); quito los espacios en blanco del principio y final
for(int i=0;i<te.length()-1;i++)
switch(te.charAt(i))
{ Recorro el texto desde el primer carácter (0)
case 'a': hasta el último (length()-1)
case 'e':
case 'i':
case 'o':
case 'u':
case 160: Obtengo el carácter y en el caso que sea una
case 8218: vocal, cuento. Nótese que para las vocales con
case 161: acento se debe colocar el código ascci de ella
case 162:
case 163:cont++;
}
return(cont);
}

public String primeraConVocal()


{
int x,sw=0;
String palabra;
String primera="No hay", Se inicializa con “No hay” y en ella se dejará la palabra buscada
String te=texto.toLowerCase().trim();
while(te.length()>0) Mientras tenga caracteres en el texto
{
x=te.indexOf(" ");
Busco el primer espacio en blanco
if(x==-1)
{ Si x es igual a -1, significa que no encontró el espacio en blanco,
palabra=te; lo que implica que queda una única palabra en el texto, lo cual se
te=""; la traspaso al objeto palabra y al texto lo dejo con nada
}
else Si encontró espacio en blanco, al objeto palabra se
{ le entrega lo substraído desde el primer carácter
palabra=te.substring(0,x).trim(); hasta el espacio en blanco encontrado (primera palabra
te=te.substring(x).trim(); del texto), y al texto se le entrega lo substraído desde el
} espacio en blanco en adelante (queda sin la primera
switch(palabra.charAt(0)) palabra)
{
case 'a':
case 'e':
case 'i':
case 'o': Se obtiene el primer carácter de la palabra y
case 'u': En caso de ser vocal la variable sw cambia a valor 1
case 160:
case 8218:
case 161:
case 162:
case 163:sw=1;
}
if(sw==1)
Si sw es igual a 1, significa que se encontró una palabra que
comienza con vocal, por lo tanto, se le asigna al objeto primera
la palabra encontrada y al texto se deja con nada
Prof.: Sonia Arriagada G. Lenguaje Java
4

{
primera=palabra;
te="";
}
}
return(primera);
}
public String primeraFinalizaConS()
{
int x;
String palabra,primera="No hay",te=texto.toLowerCase().trim();
while(te.length()>0)
{
x=te.indexOf(" ");
if(x==-1)
Al igual que
{ el método anterior, se va obteniendo la primera
palabra del texto, dejándola en el objeto palabra
palabra=te;
te="";
}
else
{
palabra=te.substring(0,x).trim();
te=te.substring(x).trim();
}
if(palabra.charAt(palabra.length()-1)=='s')
{ Se obtiene el último carácter de la palabra
primera=palabra; Si es igual a la letra s, al objeto primera se
te=""; Le asigna la palabra encontrada y al texto se
} deja con nada
}
return(primera);
}
}

La aplicación quedaría:

class AppFrase
{
public static void main(String [] xzy)
{
String x;
System.out.print("Ingrese Frase: ");
x=Leer.dato();
Frase fra=new Frase(x);
System.out.println("La frase: \""+fra.devTexto()+"\"");
System.out.println("\n Tiene "+ fra.cantidadVocales()+ " Vocales" );
if(fra.primeraConVocal().compareTo("No hay")==0)
System.out.println("\n La frase no tiene palabra que comience con vocal");
else
System.out.println("\n La primera palabra con vocal es \""+ fra.primeraConVocal()+"\"" );
if(fra.primeraFinalizaConS().compareTo("No hay")==0)
System.out.println("La frase no tiene palabra que finalice con la letra s");
else
System.out.println("La primera palabra que finaliza con la letra s es \""+ fra.primeraFinalizaConS()+"\"" );
}

Prof.: Sonia Arriagada G. Lenguaje Java


5

Prof.: Sonia Arriagada G. Lenguaje Java

También podría gustarte