gentoo linux, java, software libre y otras hierbas
dic, 06 2007 - 4:48 pm

[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 );
   }

}

Descargar código fuente

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

Descargar código fuente

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

Descargar código fuente

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

Descargar código fuente

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

Descargar código fuente

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

Descargar código fuente

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

Descargar código fuente

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

Un enlace entrante

57 Comentarios en “[código] Ejemplos de Cadenas y caracteres en Java (1)”

  1. diego dice:

    necesito encontrar un buen ejemplo de cadenas de caracteres en java, me podrian ayudar
    soy nuevo en este blog

  2. beto dice:

    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

  3. JOHANKA dice:

    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

  4. Osnayder dice:

    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.

  5. NATY dice:

    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

  6. muy bueno para los queremos aprender java

  7. Alex dice:

    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

  8. eres un idiota no mms no seas imbecil cara de mis hhuevos vete a la verga pinche changa mamona

  9. lucrecia dice:

    [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..

  10. Enrrique dice:

    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.

  11. Lizeth Lopez dice:

    M puedes ayudar con un programa que ingrese caracteres y numeros en un vector pero solo tiene que imprimir numeros en un vector.

¡Déjanos tu comentario!