Los caracteres que conforman la cadena pueden ser letras(a,b,c,..) números (0,1,2,…) caracteres especiales (¡,@,#,$,…). Para la declaración una cadena se utiliza la clase String, donde los datos se definen entre comillas, de la siguiente forma:
String cad;
cad=”hola mundo”;
Para el manejo de cadenas podemos utilizarlo al igual que en los vectores a través de índices, es decir:
Si cad="informatica"
i | n | f | o | r | m | a | t | i | c | a |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Los índices de una cadena se manejan desde la posición 0 hasta la cantidad de caracteres menos 1, en este caso la cadena "informatica" tiene 11 caracteres, es decir su longitud es 11, y los indices para acceder a cada caracter es desde 0 hasta la posicion 10.
Para extraer el caracter 't' que se encuentra en la posicion 7, se utiliza:
OPERACIONES CON CADENAS
Muchas de las operaciones básicas con cadenas (String's) son las operaciones con las palabras en una cadena, tales como: cuantas vocales contiene una palabra, contar cuantas palabras tiene una frase, eliminar la k-ésima palabra, invertir una palabra, etc.
Java tiene una infinidad de métodos en la clase String para manejar cadenas, de las cuales mostraremos las mas utilizadas.
length(). Devuelve la longitud (número de caracteres) de una cadena
EJEMPLO
String cad,cad1,cad2; int tam; cad="laboratorio"; tam=cad.length(); //en la variable se obtiene tam = 11
charAt (int pos). Devuelve el carácter que hay en una cierta posición
EJEMPLO
cad="laboratorio"; char car; car=cad.charAt(4); //obtenemos en la variable c el carácter que esta en //la posición 4, en este caso se obtiene car='r'
toLowerCase(). Devuelve la cadena convertida a minúsculas
toUpperCase(). Devuelve la cadena convertida a mayúsculas
EJEMPLO
cad="Hola MUNDO"; cad2=cad.toLowerCase(); //en cad2 obtenemos la cadena cad convertida en //minúsculas, en este caso en cad2="hola mundo" cad="Informatica"; cad2=cad.toUpperCase(); //en cad2 obtenemos la cadena cad convertida en //mayusculas, en este caso en cad2="INFORMATICA"
substring(int ini,int fin). Devuelve una subcadena: varias letras a partir de una posición incicial y fina
EJEMPLO
cad="Informatica"; cad2=cad.substring(2,7); //en cad2 obtenemos la subcadena, en este caso desde la posición 2 hasta la posición 6 de cad //en este caso en cad2 se tiene la subcadena "forma"
trim() Devuelve una cadena sin espacios de blanco iniciales ni finales
EJEMPLO
cad=" hola mundo "; cad=cad.trim(); //elimina los espacios en blanco que están al princio y al final
concat(String cadena) Devuelve una cadena con la union de otra adicionada al final o al principio. También se pueden concatenar cadenas con el operador "+"
EJEMPLO 1
cad="buenos"; cad2="días" cad3=cad+" "+cad2+" "!!!"; //en cad3 se tiene el resultado "buenos días!!!"
EJEMPLO 2
cad="buenos"; cad2="días" cad3=cad+cad2 //el resultado en cad3 es "diasbuenos"
equals(String cadena) Compara si las dos cadenas son iguales (tambien se puede usar "= =")
EJEMPLO
cad1="juan" if(cad1.equals("juan")){ System.out.print("son iguales") } //en este caso es igual if(cad1 == "Juan")){ System.out.print("son iguales"); } else{ System.out.print("NO son iguales"); } // en este caso NO es igual ya que la cadena "juan" no es igual a "Juan"
compareTo(String cadena2) Compara una cadena con otra (devuelve 0 si son iguales, negativo si la cadena es "menor" que cadena2 y positivo si es "mayor"). La comparacion es de caracter a caracter es decir comparando "ana" con "amigo" compara 'a' con 'a', luego 'n' con 'm' y asi sucesivamente.
EJEMPLO
cad1="carlos"; if(cad1.compareTo("ana")==0){ System.out.print("son iguales"); } else{ if(cad1.compareTo("ana")>0) System.out.print("cad1 es mayor"); else System.out.print("cad1 es menor"); }
EJEMPLOS
1. Dado una cadena contar cuantas vocales tiene.
Ejemplo:
Si cad=”informatica”, se tiene 5 vocales
import java.util.Scanner; class cadena01 { public static void main(String[] args) { String cad; char car; int c; //introducimos una cadena por teclado System.out.println("Introduzca una cadena"); Scanner lee=new Scanner(System.in); cad=lee.nextLine(); c=0; //recorremo la cadena for(int i=0;i<cad.length();i++){ car=cad.charAt(i); //comparamos los caracteres extraidos con a,e,i,o,u switch (car) { case 'a' : c++;break; case 'e' : c++;break; case 'i' : c++;break; case 'o' : c++;break; case 'u' : c++;break; } } System.out.println("la cadena "+cad +" tiene "+c+ " vocales" ); V.CuentaVocales(cad); } }
2. Introducir una cadena (frase) y contar cuantas palabras contiene Ejemplo: Si cad=” buenos dias informatica”, se tiene 3 palabras
import java.util.Scanner; class cadena02 { public static void main(String[] args) { String cad; int c=0; //leemos una cadena por teclado System.out.println("Introduzca una cadena"); Scanner lee=new Scanner(System.in); cad=lee.nextLine(); //concatenamos a la cadena un espacio en blanco para que cuente la ultima palabra cad=cad+" "; //recorremos la cadena for(int i=0;i<cad.length();i++){ //comparamos si el caracter es un espacio en blanco if(cad.charAt(i)==' '){ c++; //si el caracter es un espacio blanco encontramos una palabra } } //mostramos el resultado System.out.println("la cadena "+cad+" tiene : "+ c +" palabras"); } }
No hay comentarios:
Publicar un comentario