Programación Java - Ingeniería de Sistemas - UATF 19 Ing. Limber Ruíz Molina CADENAS 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 métodos de String se pueden utilizar directamente sobre literales (cadenas entre comillas), por ejemplo: “hola”.length(). Métodos 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 más eficaz de crear Strings Métodos más 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 básicas entre cadenas son: asignación, comparación y concatenación. Es posible asignar una cadena a otra cadena. Las comparaciones de las cadenas de caracteres se hacen según el orden de los caracteres en el código ASCII y con los operadores de relación. Programación Java - Ingeniería de Sistemas - UATF ‘0’ < ‘1’ ‘A’ < ‘B’ ‘1’ < ‘2’ ‘8’ < ‘9’ ‘C’ < ’D’ 20 Ing. Limber Ruíz Molina ‘N’ < ‘M’ Otra operación básica que se puede realizar con cadenas es la concatenación. La operación es el proceso de combinar dos o más 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); } } Programación Java - Ingeniería de Sistemas - UATF 21 Ing. Limber Ruíz Molina 4. Determinar si una palabra es capícua (es capícua cuando una palabra invertida es la misma palabra) class capicua { public static void main(String args[]) { String cad1="oruro"; String cad2=""; //se podría 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 número ascii asociado a un carácter class numeroascci { public static void main(String args[]) { char c='0'; int num=(int)(c); System.out.println(num); } } 7. Mostrar su correspondiente carácter asociado a un número class caracter { public static void main(String args[]) { int n=64; char c=(char)(n); System.out.println(c); } Programación Java - Ingeniería de Sistemas - UATF 22 Ing. Limber Ruíz Molina } 8. Programa que permite insertar una frase por teclado, y posteriormente visualiza cada palabra en una línea 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 línea //e imprimir espacios hasta la siguiente palabra a imprimir else { System.out.println(); for(int j=0;j<esp;j++) System.out.print(" "); } } } }