La Clase String
La clase String representa una cadena de caracteres. Todos los literales de la cadena tales como “abc” son implementados como instancias de ésta clase.
La clase String incluye métodos que permiten examinar los caracteres individuales de una cadena para compararlos, ubicarlos extraerlos como sub cadenas y para crear copias de una cadena convirtiendo todos sus caracteres a mayúsculas o minúsculas.
Java provee un soporte especial para la concatenación (unión) de cadenas con el operador (+). y para convertir otros objetos a cadenas.La concatenación de cadenas es implementada a través de la clase StringBuffer y su método append(). Las conversiones son implementadas a través del método toString() definido en la clase Object la cual es heredada por todas las clases en Java.
I.- PARA TENER EN CUENTA : |
- La clase String pertenece al paquete java.lang.
- Existen diferentes formas para crear objetos String como las siguientes :
- String str =”abc”;
- char str[] = {‘a’,’b’,’c’}; //arreglo de caracteres
- String str = new String (“abc”) ; //objeto con valor inicial “abc”
- El lenguaje java proporciona el operador “+” para concatenar (unir) objetos String.
Un objeto String representa una cadena de caracteres no modificable;por lo tanto, una operación como convertir a mayúsculas o minúsculas no modificará el objeto original sino que devolverá un nuevo objeto con la cadena resultante de esa operación el cual deberá ser guardado en otro objeto string.
II.- JERARQUÍA DE CLASES |
III.- MÉTODOS MAS IMPORTANTES |
- String (String valor) .- Se usa cuando se desea crear una cadena de caracteres :
- String cadena = “Hola”
- String cadena = new String (“Hola”); //Constructor de la clase String
cadena.concat(string txt) .- Devuelve como resultado un nuevo objeto String resultado de concatenar dos cadena :
cadena.compareTo(String otra cadena) .- Compara lexicográficamente la cadena con otra cadena , esta comparación es caracter por caracter teniendo en cuenta que las mayúsculas son mayores que las minúsculas – esto es de acuerdo al código ASCII o UNICODE – según esto devuelve :
- < 0 : si cadena < otra cadena
- = 0 : si cadena = otra cadena
- > 0 : si cadena > otra cadena Ejemplo :
- JUAN > juan
- Juan > Carlos
- JUAN > JUAn
- abcde > abcdefg
- cadena.toIgnoreCase(String otra cadena) .- Hace lo mismo que compareTo pero con la única diferencia que no se hace diferencia entre mayúsculas y minúsculas ; es decir : JUAN = juan
- cadena.length() .- Devuelve la longitud o número de caracteres de la cadena :
String cad="Hola Mundo";
int cant = cad.length();// El valor de cant será 10 - cadena.toLowerCase() .- Convierte a minúsculas las letras mayúsculas de la cadena
- cadena.toUpperCase().- Convierte en mayúsculas las letras minúsculas de la cadena.
String cad1="Esto Es Una Prueba"; String cad2=cad1.toUpperCase();//cad2 será igual a : ESTO ES UNA PRUEBA.
- cadena.trim () .- Elimina los espacios en blanco que puedan haber al principio o al final de la cadena.
String cad1=" Esto Es Una Prueba "; String cad2=cad1.toLowerCase();//cad2=Esto Es Una Prueba.
String cadena = “Hola” String result= cadena.concat(" Mundo");//El resultado será Hola mundo
IV.- MÉTODOS |
CONSTRUCTORES | ||
Constructor | Descripción | |
String( ) | Crea un nuevo objeto String vacío sin caracteres. | |
String (byte[ ] bytes) | Crea un nuevo objeto String inicializado con los caracteres equivalentes a cada número guardado en el arreglo de bytes. | |
String (char[ ] value) | Crea un nuevo objeto String inicializado con los caracteres contenidos en el arreglo dado como parámetro. | |
String (String cadena) | Crea un nuevo objeto String inicializado con el valor dado como parámetro. | |
MÉTODOS | ||
Tipo de retorno | Método | Descripción |
char | charAt(int index) | Retorna el carácter correspondiente al índice dado como parámetro. |
int | compareTo(String otraCadena) | Retorna como entero el resultado de la comparación entre la cadena que lo llama con otraCadena. Si el parámetro devuelto es "0" significa que las dos cadenas son iguales; realizándose la comparación carácter con carácter diferenciándose las mayúsculas con las minúsculas. |
int | compareToIgnoreCase(String otraCadena) | Retorna como entero el resultado de la comparación de la cadena que lo llama con otraCadena. Si éste entero es 0 significa que ambas cadenas son iguales; siendo la comparación carácter con carácter pero ignorando la diferencias entre mayúsculas y minúsculas. |
String | concat(String otraCadena) | Retorna el resultado de la concatenación de la cadena con otraCadena dada como parámetro. |
boolean | equals(Object otroObjeto ) | Retorna true si la cadena que lo llama es igual al objeto enviado como parámetro. |
boolean | equalsignoreCase(String otraCadena) | Retorna true si la cadena que lo llama es igual a la cadena dad como parámetro ignorando las diferencias entre mayúsculas y minúsculas. |
int | indexOf (String cad) | Retorna la posición de la primera ocurrencia encontrada de la cadena dada como parámetro dentro de la cadena que llama al método. |
int | indexOf (String cad, int ini) | Retorna la posición de la primera ocurrencia encontrada de la cadena dada como parámetro pero comenzando la búsqueda desde la posición ini dada como parámetro. |
int | lastIndexOf (String cad) | Retorna la posición de la ultima ocurrencia de la cadena dada como parámetro. |
int | lastIndexOf (String cad,int ini) | Retorna la posición de la última ocurrencia de la cadena dada como parámetro buscando en retroceso a partir de la posición dada como parámetro. |
int | length ( ) | Retorna el número de caracteres que contiene la cadena. |
String | replace (char car1,char car2) | Retorna una nueva cadena como resultado de reemplazar todas las ocurrencias del carácter "car1" por el carácter "car2" dados como parámetros. |
String | replaceAll (String cad1,String cad2) | Retorna una nueva cadena como resultado de reemplazar todas las concurrencias de la sub cadena cad1 por la sub cadena cad2 dada como parámetro. |
boolean | startsWith (String cad) | Retorna true si la cadena que llama al método empieza con la subcadena cad dada como parámetro. |
String | subString(int posIni) | Retorna una subcadena cuyo primer carácter empieza en la posición posIni dada como parámetro. |
String | subString(int posIni,int posFin) | Retorna una subcadena cuyo primer carácter empieza en la posición posIni y termina con el carácter de la posición posFin. |
String | toLowerCase( ) | Retorna una nueva cadena como resultado de convertir todos los caracteres a minúsculas. |
String | toUpperCase ( ) | Retorna una nueva cadena como resultado de convertir todos los caracteres a mayúsculas. |
String | trim ( ) | Retorna una nueva cadena como resultado de omitir los espacios en blanco al inicio y al final de la cadena. |
V.- EJEMPLOS |
Diseñe una aplicación que permita manipular los caracteres de una subcadena a través de los métodos vistos.
Creamos un nuevo proyecto al cual colocaremos en un paquete; en este nuevo paquete vamos a agregar un JFrame al cual le daremos el tipo de distribución GridLayout con 2 columnas ; hecho esto en la primera columna colocamos un JPanel (jPanel1) y le damos una distribución de BorderLayout ( en este panel colocamos en el NORTE una caja de texto , en el CENTRO un ScrollPane y encima un txtArea …por último en el SUR colocamos una etiqueta) ; en la segunda columna colocamos otro JPanel (JPanel2) con distribución GridLayout on 2 columnas y 7 filas y simplemente arrastramos botones hacia este panel y veremos que se irán ordenando como se ve en la imagen anterior. Se les recuerda que visiten esta entrada para tener mas información sobre los tipos de distribución y esta entrada para ver como crear un proyecto con NetBeans. Bien , hecho todo esto la vista de objetos se verá de esta forma (Observar la forma de como se esta distribuido)
Ahora vamos a programar cada botón , para esto solo basta con darle doble clic y enseguida NetBeans nos llevará al método correspondiente :
Vamos a programar el botón longitud el cual nos dirá la cantidad de caracteres de la cadena que ingresaremos en el textArea ; para poder obtener el valor escrito en la caja de texto usaremos el método getText y para escribir el resultado en el área de texto usaremos el método setText.
private void btnLongitudActionPerformed(java.awt.event.ActionEvent evt) { // lee el mensaje String cadena=txtMensaje.getText(); // obtiene la longitud int longi = cadena.length(); // imprime longitud txtSalida.setText("El texto ingresado tiene: "+longi+" caracteres."); }
Regresamos al diseñador y le hacemos doble clic al botón Separar Palabras y ingresamos el siguiente código :
private void btnSeparaPalabrasActionPerformed(java.awt.event.ActionEvent evt) { // lee el mensaje String cadena=txtMensaje.getText(); // obtiene la longitud int longi = cadena.length(); // limpia area txtSalida.setText(""); // inicializa contador de palabras int contpala=0; // separa palabras por el espacio en blanco do { // no considera espacios al inicio ni al final cadena=cadena.trim(); // ubica posicion del primer caracter blanco int pos=cadena.indexOf(' '); // obtiene palabra encontrada String palabra=""; if (pos>0) palabra=cadena.substring(0,pos+1); else palabra=cadena; // imprime palabra encontrada txtSalida.append(palabra+"\n"); // ignora palabra encontrada cadena=cadena.substring(palabra.length()); // actualiza contador de palabras contpala++; } while(cadena.length()>0); // imprime contador de palabras txtSalida.append("\n"+contpala+" palabras encontradas."); }
Hacemos lo mismo con el botón de mayúsculas
private void btnMayusculasActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: // lee el mensaje String cadena=txtMensaje.getText(); // lo convierte a mayúsculas cadena = cadena.toUpperCase(); // imprime nueva cadena en mayusculas txtSalida.setText("Texto convertido a mayúsculas:\n"+cadena); }
- Y con el botón de minúsculas :
private void btnMinusculasActionPerformed(java.awt.event.ActionEvent evt) { // lee el mensaje String cadena=txtMensaje.getText(); // lo convierte a minúsculas cadena = cadena.toLowerCase(); // imprime nueva cadena en minusculas txtSalida.setText("Texto convertido a minúsculas:\n"+cadena); }
Lo propio con el botón de caracteres y los demás botones ( que por motivo de tiempo y espacio no se van a colocar pero lo pueden descargar pulsando el botón descargar )
- Por ultimo ejecutamos con F6
14 Comentarios:
no se puede descargar
Podrias poner un ejemplo de la funcion cadena.toIgnoreCase(String otra cadena)
Te lo agradeceria mucho
y si puede agregarme es: memo_ermeck@hotmail.com
Email: sonic_salvador@hotmail.es
Hola me gustaria q publicaran un codigo en NetBeans para concatenar una frase usando setText y getText. por ejemplo ste ejercicio
Se pide que realice un programa en java cuya ventana principal contenga los siguientes elementos:
- Un cuadro de texto llamado txtNombre.
- Un cuadro de texto llamado txtCiudad.
- Una etiqueta llamada txtFrase.
- Un botón con el texto “Aceptar” llamado btnAceptar.
El programa funcionará de la siguiente forma:
- El usuario introducirá un nombre en el cuadro de texto txtNombre. Por ejemplo “Juan”.
- El usuario introducirá una ciudad en el cuadro de texto txtCiudad. Por ejemplo “Jerez”.
- Cuando el usuario pulse el botón “Aceptar”, entonces aparecerá un mensaje en la etiqueta llamada txtFrase indicando como se llama y donde vive. Por ejemplo:
Usted se llama Juan y vive en Jerez.
- Cuando el usuario pulse el botón “Desactivar”, entonces los dos cuadros de texto se desactivarán. Cuando el usuario pulse el botón “Activar”, los dos cuadros de texto se volverán a activar.
Tendrá que programar el evento actionPerformed de los botones.
Tendrá que usar la concatenación de cadenas. Recuerde que se pueden concatenar cadenas a través del operador +.
Tendrá que usar el método setText para colocar el texto en la etiqueta y el método getText para recoger el texto de cada cuadro de texto.
Muchas Gracias
tu probema es simple amigo, crea un JFrame con lo que necesites, luego programa lo siguiente:
en el actionPerformed del boton para mostrar el mensaje
String Nombre=txtNombre.getText();
String Ciudad=txtCiudad.getText();
txtFrase.setText("Usted se llama "+Nombre+" Y vive en "+Ciudad);
en el actionperformed del btnDesactivar
txtNonbre.setEnabled(false);
txtCiudad.setEnabled(false);
txtFrase.setEnabled(false);
en el action performed del btnActivar
txtNonbre.setEnabled(true);
txtCiudad.setEnabled(true);
txtFrase.setEnabled(true);
txtNombre.requestFocus();
Alguna duda mi msn es luna12d@hotmail.com
podrias publicar entrar dato en un string y almacenarlo en un vector a[], por poner un ejemplo vector a[], te lo agradezco
como convierto 3 letras en mayusculas. ejemplo: Ana Luisa castañedA.. respondeme please
solicito ayuda con este programa....
1. el programa debera solicitar el ingreso de una cadena de carateres
2. salida debera mostrar las siguientes soluciones.
2.1 tamaño de la cadena ejemplo; funcion: xxxxx In; leonardo out: 8
2.2 cambiar a mayusculas ejemplo; funcion: xxxxx in; leonardo out: LEONARDO
2.3 cambiar a minusculas ejemplo; funcion: xxxxx in: Leonardo out: leonardo
2.4 eliminar espaciones entre palabras ejemplo; funcion: xxxxx in: leonardo donis aroche out: leonardodonisaroche
2.5 invertir palabra ejemplo; funcion: xxxxx in: leonardo out adranoel
Hola Wilber, ¿Haz revisado el ejemplo que adjunto en este post ? Creo que eso soluciona gran parte de lo que pides.
Buen aporte excelente!!!!! gracias ;)
hola amigos
necesito los códigos de los otros botones
No se ve
NECESITO LOS CODIGOS DE LOS OTROS BOTONES!!!!!!!!!
x2
Publicar un comentario
Ingresa tu comentario .... con el siguiente formato EMAIL - COMENTARIO para poder responderte :