marzo 12, 2012

Manejo de Cadenas: Subcadenas con substring()

Otro método de la clase String es substring(), este método retorna una parte especifica de una cadena de caracteres. Es útil, si por ejemplo, en la cadena "Buenas Intenciones" queremos obtener solo una parte de esa cadena, como "Buenas" ó "Intenciones" ó "tencion", etc.

A este método podemos pasarle 2 parámetros de tipo entero, en estos 2 números enteros debemos especificar la posición de la letra donde queremos que comience la subcadena y la posición donde queremos que termine esta. También podemos ingresar solo un parámetro al método, cuando hagamos esto, el método tomará como referencia el único numero entero que hemos ingresado como posición inicial de la subcadena y como posición final tomará el ultimo caracter de la cadena.
//Archivo: ManejoDeCadenas4.java

public class ManejoDeCadenas4 {

    public static void main(String args[]){
        
        String cadena = "Java y tus Buenas Intenciones";
        
        String subCadena1 = cadena.substring(0,4);
        String subCadena2 = cadena.substring(5,10);
        String subCadena3 = cadena.substring(4);
        
        System.out.println(subCadena1);
        System.out.println(subCadena2);
        System.out.println(subCadena3);
    }
}
En la linea 7 declaramos una variable que contiene una cadena de caracteres. En la linea 9 declaramos otra variable tipo String donde almacenaremos una subcadena de la cadena original declarada en la linea 9, a String subCadena1 le asignamos lo que retorne el método cadena.substring, a la que le pasamos 2 parámetros: 0 y 4, el método substring() toma como indice inicial de la subcadena la posición 0 y como indice final la posición 4; los caracteres que se encuentren entre la posición 0 y 4 serán parte de esa subcadena y se almacenarán en String subCadena1.

La linea 10 hace una operación similar a la descrita para la linea 9. En esta linea toma como referencia la posición 5 y 10, así que los caracteres que se encuentren entre esos indices serán parte de una subcadena y se almacenarán en String subCadena2.

marzo 09, 2012

Manejo de Cadenas: Ocurrencias de Caracteres con indexOf y lastIndexOf

La clase String también cuenta con los métodos indexOf() y lastIndexOf(), estos métodos sirven para ubicar la posición de un caracter dentro de una cadena de caracteres. Nos sirven, si por ejemplo, queremos ubicar la posición de la letra "c" en la cadena "Buenas Intenciones".

indexOf() es un método que retorna la posición de la primera ocurrencia de la letra que queramos ubicar en la cadena de caracteres. Por ejemplo: en la cadena "Buenas Intenciones", la letra "e" ocurre (se repite) varias veces, pero la primera ocurrencia de la letra "e" es la que esta resaltada en negritas y de un tamaño más grande; la letra "B" por ejemplo, solo tiene una ocurrencia en esa cadena. Si ocupamos el método indexOf() para ubicar la posición de la letra "e" en esa cadena, nos retornara un valor entero que indicara la posición de la primera ocurrencia de esta letra, en este caso, retornará: 2.

lastIndexOf(), este método nos retorna la posición de la ultima ocurrencia de la letra que queramos ubicar. Nuevamente un ejemplo: en la cadena de caracteres "Buenas intenciones", la ultima ocurrencia de la letra "e" es la que esta resaltada en negritas y un tamaño más grande. Si usamos lastIndexOf() para ubicar la posición de la letra "e" en esa cadena de caracteres, nos retornará: 16.

Si le pasamos de parámetro una letra que no existe en la cadena de caracteres a los métodos indexOf() y lastIndexOf(), nos retornará un valor negativo.

¡Hagamos código!
//Archivo: ManejoDeCadenas3.java

public class ManejoDeCadenas3{
    
    public static void main(String args[]){
        
        String cadena = "Buenas Intenciones";
        
        int posicion1 = cadena.indexOf('c');
        int posicion2 = cadena.indexOf('i');
        int posicion3 = cadena.indexOf('I');
        int posicion4 = cadena.indexOf('e');
        
        System.out.println("Usando indexOf:");
        System.out.println(posicion1);
        System.out.println(posicion2);
        System.out.println(posicion3);
        System.out.println(posicion4);
        
        int posicion5 = cadena.lastIndexOf('n');
        int posicion6 = cadena.lastIndexOf('e');
        
        System.out.println("Usando lastIndexOf:");
        System.out.println(posicion5);
        System.out.println(posicion6);
        
        int posicion7 = cadena.indexOf('x');
        System.out.println("Para caracteres que no existen en\n"
                + "la cadena de caracteres:");
        System.out.println(posicion7);
    }
}

marzo 08, 2012

Convertir a Mayúsculas y Minúsculas con toUpperCase y toLowerCase

toUpperCase() y toLowerCase() son métodos de la clase String, el primero es un método que permite convertir las letras a mayúsculas de una cadena de caracteres, el segundo es un método que convierte las letras a minúsculas de una cadena. Estos métodos son sencillos de implementar, veamos:
//Archivo: ManejoDeCadenas2.java

public class ManejoDeCadenas2 {
    
    public static void main(String args[]){
        
        String cadena = "Buenas Intenciones";
        String mayus = cadena.toUpperCase();
        String minus = cadena.toLowerCase();
        
        System.out.println("Texto inicial: "+cadena);
        System.out.println("Texto en Mayusculas: "+mayus);
        System.out.println("Texto en Minusculas: "+minus);
    }
}
En la linea 7 declaramos String cadena que contiene la cadena "Buenas Intenciones". En la linea 8 declaramos String mayus que se le asigna lo que retorne el método toUpperCase() que es mandado a traer por String cadena, este método retornara la cadena contenida en String cadena pero en mayúsculas. En la linea 9 declaramos String minus que se le asigna lo que retorne el método toLowerCase() que es llamado por String cadena, este método retornara la cadena contenida en String cadena pero en minúsculas.

Ya en las lineas 10 a la 13 imprimimos por separado lo que contiene las variables cadena, mayus y minus que son de tipo String, para comparar su comportamiento.

marzo 07, 2012

Manejo de Cadenas: charAt()

Como sabemos el tipo de dato String es para cadenas de caracteres, por tanto una variable de tipo String almacena una cadena. Estas cadena de caracteres puede ser de 0 caracteres (cadena en blanco) o más caracteres; Y los caracteres de una cadena tienen un indice, es decir, tienen un numero de orden. Los elementos (caracteres) de una cadena se enumeran de una forma muy parecida a la que se enumeran los elementos de un arreglo, desde la posición 0 hasta la posición "n".

Por ejemplo la cadena de caracteres: "Buenas intenciones" contiene 18 caracteres, y estos están enumerados del 0 al 17, es decir:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
B
U
E
N
A
S

I
N
T
E
N
C
I
O
N
E
S


Cada caracter que compone esta cadena de caracteres se puede guardar en una variable de tipo char.
charAt() es un método de la clase String que retorna el caracter (tipo char) que se encuentra en la posición indicada. El metodo length() de la clase String también, retorna la cantidad total de caracteres contenidos en la cadena.

Ahora se presenta el siguiente programa para entender mejor la teoría anterior:
//Archivo: ManejoDeCadenas.java

public class MenejoDeCadenas {
    
    public static void main(String args[]){
        
        String cadena = "Buenas Intenciones";
        
        System.out.println(cadena.charAt(0));
        System.out.println(cadena.charAt(7));
        System.out.println(cadena.charAt(cadena.length()-1));
        
        char letra;
        for(int cont=0; cont < cadena.length(); cont++){
            letra=cadena.charAt(cont);
            System.out.println(cont+" --> "+letra);
        }
    }
}

marzo 04, 2012

Mostrar Una Imagen

En esta ocasión veremos como visualizar una imagen en java, para ejemplificar realice una pequeña clase llamada "Imagen" y quedo de la siguiente manera:

/**
* Archivo: Imagen.java
* @author Bello Cerecero
* @version 1.00 2012/3/4
*/

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;

public class Imagen
{
 private JFrame ventana;
 private JPanel contenedor;
 private JLabel etiqueta;
 
  public Imagen()
  {
   ventana = new JFrame("Mostrar una imagen");
   contenedor = new JPanel();
   etiqueta = new JLabel(new ImageIcon("homero.gif"));
  }

  public void mostrarVentana()
  {
   contenedor.add(etiqueta);
   ventana.getContentPane().add(contenedor);
   ventana.pack();
   ventana.setResizable(false);
   ventana.setVisible(true);
   ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public static void main (String[] args)
  {
   Imagen mostrar = new Imagen();
   mostrar.mostrarVentana();
 }
}


Como se puede observar de la linea 1 a la 5 solo son comentarios, despues de los comentarios importamos lo que se va a ocupar (lineas 7 a la 10), ya dentro de la clase en las lineas 20,21 y 22 declaramos nuestras variables, un JFrame al que llamaremos "ventana", un JPanel que se llamara "contenedor" y un JLabel que se llamara "etiqueta".

En el constructor (linea 18), inicializamos nuestras variables, a la variable ventana le pasamos como parámetro una String, esta String aparecerá en la ventana de titulo(linea 20) observe la imagen para descripción gráfica.



En la linea 21 inicializamos un JPanel llamado contenedor, y como lo dice el nombre, va a contener, en la linea 22 inicalizamos un JLabel llamado etiqueta a la que le pasamos como parametro el nombre de la imagen que deseamos que se visualice en la ventana, esto es importante, como la imagen que utilice se encontraba en la carpeta en la que esta mi código no es necesario colocar la ruta completa solo con colocar el nombre de la imagen y el tipo es suficiente ("homero.gif"), pero si la imagen que quieren visualizar esta en otra carpeta tienen que espesificar la ruta por ejemplo: ("C:\\Users\\user\\Desktop\\Nueva carpeta (2)\\homero.gif").