Programacin 2 Cadenas (String) en JAVA
Ingeniera de Sistemas
La clase String est orientada a manejar cadenas de caracteres. Pertenece al package (paquete) java.lang, y por lo tanto no hay que importarlas. Los mtodos de String se pueden utilizar directamente sobre literales (cadenas entre comillas), por ejemplo: hola.length(). Mtodos de la clase String. Los objetos de la clase String se pueden crear a partir de cadenas de constantes o literales, definidas entre dobles comillas, como por ejemplo: hola. Java crea siempre un objeto String al encontrar una cadena entre comillas. Por ejemplo: String str1=hola; //el sistema ms eficaz de crear Strings Mtodos ms importantes de la clase String.
INSERTAR CADENAS DESDE TECLADO Insertar palabras Scanner en=new Scanner(System.in); String cad=en.next(); Insertar frases String cad=en.nextLine(); Operaciones entre cadenas Las operaciones bsicas entre cadenas son: asignacin, comparacin y concatenacin. Es posible asignar una cadena a otra cadena. Las comparaciones de las cadenas de caracteres se hacen segn el orden de los caracteres en el cdigo ASCII y con los operadores de relacin.
Programacin 2 0 < 1 A < B 1 < 2 C < D 8 < 9 N < M
Ingeniera de Sistemas
Otra operacin bsica que se puede realizar con cadenas es la concatenacin. La operacin es el proceso de combinar dos o ms cadenas en una sola cadena. El operador es (+) Ejemplos 1. Concatenar tres cadenas de caracteres. class cadenas1 { public static void main(String args[]) { String cadenaTotal,cadena1,cadena2,cadena3; cadena1="ingenieria"; cadena2="de"; cadena3="sistemas"; cadenaTotal=cadena1+cadena2+cadena3; System.out.println(cadenaTotal); } } 2. Determinar la longitud de una cadena (String) class cadenas2 { public static void main(String args[]) { String cadena1="Hola, como estas?"; int longitud=cadena1.length(); System.out.println(longitud); } } 3. Determinar cuantos caracteres a, existen en una cadena. class cadenas4 { public static void main(String args[]) { String cadena; cadena="alpaca"; int con=0; int c=cadena.length(); for(int i=0;i<c;i++) if ('a'==cadena.charAt(i)) con++; System.out.println("existen "+con); } }
Programacin 2
Ingeniera de Sistemas
4. Determinar si una palabra es capcua (es capcua cuando una palabra invertida es la misma palabra) class capicua { public static void main(String args[]) { String cad1="oruro"; String cad2=""; //se podra decir que empieza sin ningun caracter int n=cad1.length(); for(int i=(n-1);i>=0;i--) cad2=cad2+cad1.charAt(i); if(cad1.equals(cad2)) System.out.println("es capicua"); else System.out.println("no es capicua"); } } 5. Mostrar el mayor de dos cadenas class cadenamayor { public static void main(String args[]) { String cadena1="juan"; String cadena2="pedro"; if(cadena1.compareTo(cadena2)>0) System.out.println("el mayor es="+cadena1); else System.out.println("el mayor es="+cadena2); } } 6. Mostrar su correspondiente nmero ascii asociado a un carcter class numeroascci { public static void main(String args[]) { char c='0'; int num=(int)(c); System.out.println(num); } } 7. Mostrar su correspondiente carcter asociado a un nmero class caracter { public static void main(String args[]) { int n=64; char c=(char)(n);
Programacin 2 System.out.println(c); } }
Ingeniera de Sistemas
8. Programa que permite insertar una frase por teclado, y posteriormente visualiza cada palabra en una lnea diferente Ejemplo Entrada Salida Potosi es una ciudad colonial Potosi Potosies Potosi euna Potosi es u ciudad Potosi es una ciudcolonial
import java.util.*; public class Ejemplo { public static void main(String args[]) { Scanner en=new Scanner(System.in); //obtener la cadena por teclado String cad=en.nextLine(); //tam almacena la longitud de la cadena int tam=cad.length(); //esp ser para saber hasta donde imprimir espacios int esp=0; for(int i=0;i<tam;i++) { //si el caracter es diferente de espacio imprime el caracter if(cad.charAt(i)!=' ') { esp++; System.out.print(cad.charAt(i)); } //si el caracter es espacio debemos hacer un salto de lnea //e imprimir espacios hasta la siguiente palabra a imprimir else { System.out.println(); for(int j=0;j<esp;j++) System.out.print(" "); } } } }