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…

Etiquetas: ejemplos, java
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.

42 Comentarios | deja el tuyo

Un enlace entrante

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

  1. Adrian dice:

    Que tal phersoft, te dare la idea para que tu hagas tu tarea va?

    //crea tu arreglo y el llenado

    double []array = new double[20];
    System.out.println(“Ingresar datos:”);
    for(int i=0; i<array.length;i++)
    {
    array[i]=entrada.readLine();
    }
    //convierte valores
    for(int i=0; i<array.length;i++)
    {
    array[i] = Double.parseDouble(array[i]);
    }
    //contadores usando if anidados
    for(int i=0; i<array.length;i++)
    {
    if( array[i]100 && array[i]1000)
    {
    l++;
    }
    }}//cierra else
    }//cierra for

    System.out.println(j);
    System.out.println(k);
    System.out.println(l);

    espero te guies con este ejemplo , saludos

  2. Adrian dice:

    perodn la parte de los contadores s epuso mal seria;
    for(int i=0; i<array.length;i++)
    {
    if( array[i]100&&array[i]1000)
    {
    l++
    }
    }}//cierra else
    }//cierra for

  3. Cristian dice:

    Gracias por tus aportes Adrian. Desafortunadamente ya no tengo el tiempo que tenía antes, pero es bueno ver que hay usuarios que participan en este blog.

    Un saludo!

  4. Jaime dice:

    Hey men muchas gracias por este gran aporte

  5. lau dice:

    oie kisiersa saber como puedo hhacer k en un editor de texto hecho en java me acepte el numero de caracteres k yo kiera y al termino me haga el salto de linea automaticamente

  6. Marcela dice:

    hola kisiera saber si me pueden ayudar a hacer un programa ke al poner por ejemplo hola me regrese un aloh. GRACIAS

  7. Adrian dice:

    Hola como estas? ya sabes ocupar arreglos?simplemente llena tu arreglo de tipo string e imprimelo al reves con un for. saludos

  8. Marcela dice:

    muchas gracias si ya se como …gracias por la ayuda.

  9. mary dice:

    Me podria mandar un ejemplo de programa d ecompareto me urge gracias

  10. ingrid_ dice:

    ola me puedes ayudar con este ejercico desarrollo un prgrama que verifique si una frase es polonóromo
    programa en java

  11. sergio dice:

    mm ps io tengo q utilizar un programa q lea una cadena y determine si es un polindrome si alguien me puede explicar como se hace muchas gracias pero es para hoy …jejejeje pero q no sea mediante un panel de opciones q presente su resultado en consola … a otra cosita se tiene q crear una clase de datos y apartir de ella una de cadenas. y apartir de la de datos se tiene q hacer el programa principal mediante otra clase de la de cadenas … aver quien me puede ayudar

¡Déjanos tu comentario!