[código] Ejemplos de Cadenas y caracteres en Java (1)
Esta sección trata el procesamiento de palabras, oraciones, caracteres y grupos de caracteres. Se presentan las clases String, StringBuffer, Character y StringTokenizer. También se presentan ejemplos de la API de Java para las expresiones regulares, la cual permite a los programas buscar en las cadenas secuencias de caracteres que concuerden con ciertos patrones especificados.
Constructores de la clase String
// Constructores de la clase String.
import javax.swing.*;
public class ConstructoresString {
public static void main( String args[] )
{
char arregloChar[] = { 'c', 'u', 'm', 'p', 'l', 'e', ' ', 'a', 'ñ', 'o', 's' };
byte arregloByte[] = { ( byte ) 'a', ( byte ) 'ñ',
( byte ) 'o', ( byte ) ' ', ( byte ) 'n',
( byte ) 'u', ( byte ) 'e', ( byte ) 'v', (byte) 'o' };
String s = new String( "hola" );
// usar constructores de String
String s1 = new String();
String s2 = new String( s );
String s3 = new String( arregloChar );
String s4 = new String( arregloChar, 7, 4 );
String s5 = new String( arregloByte, 4, 5 );
String s6 = new String( arregloByte );
// anexar objetos String a salida
String salida = "s1 = " + s1 + "\ns2 = " + s2 + "\ns3 = " + s3 +
"\ns4 = " + s4 + "\ns5 = " + s5 + "\ns6 = " + s6;
JOptionPane.showMessageDialog( null, salida,
"Constructores de la clase String", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
Métodos length, charAt y getChars de String
// Este programa demuestra los métodos length, charAt y getChars
// de la clase String.
import javax.swing.*;
public class VariosString {
public static void main( String args[] )
{
String s1 = "hola a todos";
char arregloChar[] = new char[ 4 ];
String salida = "s1: " + s1;
// probar método length
salida += "\nLongitud de s1: " + s1.length();
// iterar a través de los caracteres en s1 y mostrar al revés
salida += "\nLa cadena invertida es: ";
for ( int cuenta = s1.length() - 1; cuenta >= 0; cuenta-- )
salida += s1.charAt( cuenta ) + " ";
// copiar caracteres de la cadena a arregloChar
s1.getChars( 0, 4, arregloChar, 0 );
salida += "\nEl arreglo de caracteres es: ";
for ( int cuenta = 0; cuenta < arregloChar.length; cuenta++ )
salida += arregloChar[ cuenta ];
JOptionPane.showMessageDialog( null, salida,
"Métodos de String para manipular caracteres",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
} // fin de la clase VariosString
Métodos equals, equalsIgnoreCase, compareTo y regionMatches de String
// Los métodos equals, equalsIgnoreCase, compareTo y regionMatches de String.
import javax.swing.JOptionPane;
public class CompararString {
public static void main( String args[] )
{
String s1 = new String( "hola" ); // s1 es una copia de "hola"
String s2 = "adiós";
String s3 = "Feliz Cumpleaños";
String s4 = "feliz cumpleaños";
String salida = "s1 = " + s1 + "\ns2 = " + s2 + "\ns3 = " + s3 +
"\ns4 = " + s4 + "\n\n";
// probar igualdad
if ( s1.equals( "hola" ) ) // true
salida += "s1 es igual a \"hola\"\n";
else
salida += "s1 es distinta de \"hola\"\n";
// probar igualdad con ==
if ( s1 == "hola" ) // false; no son el mismo objeto
salida += "s1 es igual a \"hola\"\n";
else
salida += "s1 es distinta de \"hola\"\n";
// probar igualdad (ignorar mayúsculas)
if ( s3.equalsIgnoreCase( s4 ) ) // true
salida += "s3 es igual a s4\n";
else
salida += "s3 es distinta de s4\n";
// probar compareTo
salida += "\ns1.compareTo( s2 ) es " + s1.compareTo( s2 ) +
"\ns2.compareTo( s1 ) es " + s2.compareTo( s1 ) +
"\ns1.compareTo( s1 ) es " + s1.compareTo( s1 ) +
"\ns3.compareTo( s4 ) es " + s3.compareTo( s4 ) +
"\ns4.compareTo( s3 ) es " + s4.compareTo( s3 ) + "\n\n";
// probar regionMatches (susceptible a mayúsculas)
if ( s3.regionMatches( 0, s4, 0, 5 ) )
salida += "Los primeros 5 caracteres de s3 y s4 concuerdan\n";
else
salida += "Los primeros 5 caracteres de s3 y s4 no concuerdan\n";
// probar regionMatches (ignorar mayúsculas)
if ( s3.regionMatches( true, 0, s4, 0, 5 ) )
salida += "Los primeros 5 caracteres de s3 y s4 concuerdan";
else
salida += "Los primeros 5 caracteres de s3 y s4 no concuerdan";
JOptionPane.showMessageDialog( null, salida,
"Comparaciones entre cadenas", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
} // fin de la clase CompararString
Métodos startsWith y endsWith de String
// String methods startsWith and endsWith.
import javax.swing.*;
public class InicioFinString {
public static void main( String args[] )
{
String cadenas[] = { "empezó", "empezando", "terminó", "terminando" };
String salida = "";
// probar el método startsWith
for ( int cuenta = 0; cuenta < cadenas.length; cuenta++ )
if ( cadenas[ cuenta ].startsWith( "em" ) )
salida += "\"" + cadenas[ cuenta ] + "\" empieza con \"em\"\n";
salida += "\n";
// probar método startsWith, empezando desde la posición
// 2 de la cadena
for ( int cuenta = 0; cuenta < cadenas.length; cuenta++ )
if ( cadenas[ cuenta ].startsWith( "pez", 2 ) )
salida += "\"" + cadenas[ cuenta ] +
"\" empieza con \"pez\" en la posición 2\n";
salida += "\n";
// probar el método endsWith
for ( int cuenta = 0; cuenta < cadenas.length; cuenta++ )
if ( cadenas[ cuenta ].endsWith( "do" ) )
salida += "\"" + cadenas[ cuenta ] + "\" termina con \"do\"\n";
JOptionPane.showMessageDialog( null, salida,
"Comparaciones con la clase String", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
} // fin de la clase InicioFinString
Métodos de búsqueda indexOf y lastIndexOf de String
// String searching methods indexOf and lastIndexOf.
import javax.swing.*;
public class MetodosIndexString {
public static void main( String args[] )
{
String letras = "abcdefghijklmabcdefghijklm";
// probar indexOf para localizar un caracter en una cadena
String salida = "'c' se encuentra en el índice " + letras.indexOf( 'c' );
salida += "\n'a' se encuentra en el índice " + letras.indexOf( 'a', 1 );
salida += "\n'$' se encuentra en el índice " + letras.indexOf( '$' );
// probar lastIndexOf para buscar un caracter en una cadena
salida += "\n\nLa última 'c' se encuentra en el índice " +
letras.lastIndexOf( 'c' );
salida += "\nLa última 'a' se encuentra en el índice " +
letras.lastIndexOf( 'a', 25 );
salida += "\nEl último '$' se encuentra en el índice " +
letras.lastIndexOf( '$' );
// probar indexOf para localizar una subcadena en una cadena
salida += "\n\n\"def\" se encuentra en el índice " +
letras.indexOf( "def" );
salida += "\n\"def\" se encuentra en el índice " +
letras.indexOf( "def", 7 );
salida += "\n\"hola\" se encuentra en el índice " +
letras.indexOf( "hola" );
// probar lastIndexOf para encontrar una subcadena en una cadena
salida += "\n\nEl último \"def\" se encuentra en el índice " +
letras.lastIndexOf( "def" );
salida += "\nEl último \"def\" se encuentra en el índice " +
letras.lastIndexOf( "def", 25 );
salida += "\nEl último \"hola\" se encuentra en el índice " +
letras.lastIndexOf( "hola" );
JOptionPane.showMessageDialog( null, salida,
"Métodos de búsqueda de String", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
} // fin de la clase MetodosIndexString
Método substring de la clase String
// Los métodos substring de la clase String.
import javax.swing.*;
public class SubString {
public static void main( String args[] )
{
String letras = "abcdefghijklmabcdefghijklm";
// probar métodos substring
String salida = "La subcadena desde el índice 20 hasta el final es " +
"\"" + letras.substring( 20 ) + "\"\n";
salida += "La subcadena desde el índice 3 hasta 6 es " +
"\"" + letras.substring( 3, 6 ) + "\"";
JOptionPane.showMessageDialog( null, salida,
"Métodos substring de la clase String", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
} // fin de la clase SubString
Método concat de la clase String
// El método concat de la clase String.
import javax.swing.*;
public class ConcatenacionString {
public static void main( String args[] )
{
String s1 = new String( "Feliz " );
String s2 = new String( "Cumpleaños" );
String salida = "s1 = " + s1 + "\ns2 = " + s2;
salida += "\n\nResultado de of s1.concat( s2 ) = " + s1.concat( s2 );
salida += "\ns1 después de la concatenación = " + s1;
JOptionPane.showMessageDialog( null, salida,
"El método concat de String", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
} // fin de la clase ConcatenacionString
Continúa…
Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.
58 Comentarios | deja el tuyo





necesito encontrar un buen ejemplo de cadenas de caracteres en java, me podrian ayudar
soy nuevo en este blog
mirren necesito un ejemplo donde haga la evaluacion de cadenas como,por ejemlo la un automata finito deterministico o si tienen al fun ejemplo de cadenas esta bien aparte de los que aportaron aqui
ESTAN MUY PAVO
mirren necesito un ejemplo donde haga la evaluacion de cadenas como,por ejemlo la un automata finito deterministico o si tienen al fun ejemplo de cadenas esta bien aparte de los que aportaron aqui
nesesito
Leer una cadena de n caracteres (en minúsculas) e imprimir el resultado que se obtiene cada vez que se realiza una rotación de un carácter a la derecha sobre dicha cadena. El proceso finalizará cuando se haya obtenido nuevamente la cadena de caracteres original. Debe mostrar por pantalla las cadenas en mayúsculas separadas por un guión.
Ejemplo:
Para la cadena de caracteres hola, la salida será:
HOLA – AHOL – LAHO – OLAH – HOLA
ayudenme.
HOLO ME PODRIAN AYODAR A REALIZAR UN PROGRAMA CON CHAR ESTE ME TIENE QUE DAR LAS INICIALES DE UNA PALABRA EJEMPLO:
ESCRIBE TU NOMBRE:NATY
TU NOMBRE ES: NATY
TU INICIAL ES: N
muy bueno para los queremos aprender java
m podrian ayudar?? necesito validar una cadena..
debe de validar esto: =10*AB15+BH98/5
y lo q m debe marcar error es: =10AB15
o = A10B; o =A10B5
eres un idiota no mms no seas imbecil cara de mis hhuevos vete a la verga pinche changa mamona
[NATY] hoola … mira puedes meter en una variable char el nombre que te ingresen.
y para mostrar la primer letra puedes mostrar la posicion 0…
ej:
char *nombre;
nombre = ‘MARIA’
nombre[0] —> te mosstraria M
espero q te funcione
saludos..
mi hermano me pide que le ayude a programar pero se me hace muy dificil para yo entenderle y el no quiere reprobar como le ago para ayudarle.
M puedes ayudar con un programa que ingrese caracteres y numeros en un vector pero solo tiene que imprimir numeros en un vector.