Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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)));
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
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:
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 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;
}
{
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);
}
{
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()+"\"" );
}