You are on page 1of 3

FUNCIONES O METODOS DE MANEJO DE CADENAS

String
Un String en Java representa una cadena de caracteres no modificable. Todos los literales de la forma "cualquier texto", es
decir, literales entre comillas dobles, que aparecen en un programa java se implementan como objetos de la clase String. En
Java hemos visto que cuando queremos almacenar un valor entero definimos una variable de tipo int, si queremos
almacenar un valor con decimales definimos una variable de tipo float. Ahora si queremos almacenar una cadena de
caracteres (por ejemplo un nombre de una persona) debemos definir un objeto de la clase String.

String toString(); Devuelve una copia del objeto como una String.

String substring( int i, int fin ); Devuelve una instancia de la clase String que contenga una subcadena desde la
posicin ini, hasta la fin (si no se indica hasta el final de la cadena), del objeto cadena que invoque el mtodo.

Y el mtodo para transformar la cadena en un vector de caracteres:

void getChars(int ini, int fin, char[] destino, int destIni); Convierte la cadena en un vector de caracteres destino.

1.

Solicitar el ingreso del nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad.

import java.util.Scanner;
public class CadenaDeCaracteres1
{
public static void main(String[] ar)
{
Scanner teclado=new Scanner(System.in);
String nombre1,nombre2;
int edad1,edad2;
System.out.print("Ingrese el nombre:");
nombre1=teclado.next();
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el nombre:");
nombre2=teclado.next();
System.out.print("Ingrese edad:");
edad2=teclado.nextInt();
System.out.print("La persona de mayor edad es:");
if (edad1>edad2)
{
System.out.print(nombre1);
}
else
{
System.out.print(nombre2);
}
}
}
StringBuffer
Un objeto StringBuffer representa una cadena cuyo tamao puede variar.
StringBuffer( int lim ); Construye una cadena sin caracteres y con una capacidad inicial de lim caracteres (por
defecto 16, si no se especifica otro valor).

StringBuffer( String s ); Construye una cadena con el valor s.

La clase StringBuffer dispone de muchos mtodos para modificar el contenido de los objetos StringBuffer. Si el contenido
de una cadena va a ser modificado en un programa, habr que sacrificar el uso de objetos String en beneficio de
StringBuffer, que aunque consumen ms recursos del sistema, permiten ese tipo de manipulaciones.
Al estar la mayora de las caractersticas de los StringBuffers basadas en su tamao variable, se necesita un nuevo mtodo
de creacin:
StringBuffer();
StringBuffer( int len );
StringBuffer( String str );
Se puede crear un StringBuffer vaco de cualquier longitud y tambin se puede utilizar un String como punto de partida
para un StringBuffer.
StringBuffer Dos = new StringBuffer( 20 );
StringBuffer Uno = new StringBuffer( "Hola Mundo" );
2. CadInversa.java, mostramos un mtodo muy simple que le da la vuelta a una cadena:
class CadInversa
{
public static String cadenaInversa( String fuente )
{
int longitud = fuente.length();
StringBuffer destino = new StringBuffer( longitud );
for( int i=(longitud-1); i >= 0; i-- )
destino.append( fuente.charAt( i ) );
return( destino.toString() );
}
public static void main( String args[] )
{
System.out.println( cadenaInversa( "Hola Mundo" ) );
}
}
Char
Un dato de tipo carcter se utiliza para representar un carcter dentro del rango \u0000 a \uFFFF (nmeros desde 0 hasta
65535) en Unicode.
En realidad un dato de tipo char contiene un nmero entero dentro del rango anterior que representa un carcter.
En Java se utiliza el cdigo Unicode para la representacin de caracteres. Este cdigo actualmente representa los caracteres
de la mayora de idiomas escritos en todo el mundo.
Los 127 primeros caracteres de Unicode corresponden al cdigo ASCII.
El Cdigo ASCII (American Standard Code for Information Interchange o Cdigo Estndar Americano para el Intercambio
de Informacin) asigna valores numricos a las letras, nmeros, signos de puntuacin y algunos otros caracteres especiales.
ASCII incluye 256 cdigos divididos en dos conjuntos, estndar y extendido, de 128 cada uno. El conjunto ASCII bsico, o
estndar, utiliza 7 bits para cada cdigo, lo que da como resultado 128 cdigos de caracteres desde 0 hasta 127.
El conjunto ASCII extendido utiliza 8 bits para cada cdigo, dando como resultado 128 cdigos adicionales, numerados
desde el 128 hasta el 255.
En el conjunto de caracteres ASCII bsico, los primeros 32 valores estn asignados a los cdigos de control de
comunicaciones y de impresora (caracteres no imprimibles) empleados para controlar la forma en que la informacin es
transferida desde una computadora a otra o desde una computadora a una impresora. En este grupo estn los cdigos
correspondientes a la barra espaciadora (SP por space), la tecla ENTER de retorno de carro a un nuevo rengln (CR por
carry return), etc. Tambin existen caracteres de control usados en teleprocesamiento, como ser ACK (Acknowledge - aviso

de mensaje recibido), BEL (bell - aviso por seal sonora), ETX (end of text fin de texto), STX (start of text comienzo
de texto), etc.
Los 96 cdigos restantes del cdigo bsico corresponden a los caracteres imprimibles y se asignan a los signos de
puntuacin corrientes, a los dgitos del 0 al 9 y a las letras maysculas y minsculas del alfabeto latino.
Ejemplo de declaracin de variables de tipo carcter:
char car;
char letra1 = 'z';
char letra = '\u0061'; //cdigo unicode del carcter a
3.

Escribir un programa que reciba como datos una cadena de caracteres y un carcter y reporta el nmero de veces
que se encuentra el carcter en la cadena.

import java.util.Scanner;
public class Ejercicio
{
public static int contarCaracter(String cadena, char caracter)
{
int n = 0, pos = -1;
while ((pos = cadena.indexOf(caracter, pos + 1)) > -1)
n++;
return n;
}
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
String chain;
char caracter;
System.out.print("Ingrese una cadena de caracteres: ");
chain = in.nextLine();
System.out.print("Ingrese un caracter: ");
caracter = in.next().charAt(0);
System.out.println("El numero de ocurrencias de " + caracter
+ " es : " + contarCaracter(chain, caracter));
}
}

You might also like