Tutorial 5 Java: Cadenas de caracteres

Tutorial 5 Java: Cadenas de caracteres
tutorialjava5

¡Bienvenidos a un nuevo tutorial de Java! En este tutorial, vamos a ver cadenas de caracteres. Es un tutorial muy fácil y corto, así que no os costará nada llevarlo a cabo. Como ya hemos visto en tutoriales anteriores, para definir una variable que sea un número entero, declaramos un int y, para coma flotante, declaramos un float. Si quisiéramos una cadena de caracteres, tendríamos que crear un objeto de la clase String.

En el próximo tutorial trataremos con más detalle qué es un clase y qué un objeto.

Realizaré dos ejercicios. En el primero introduciremos el nombre de dos personas y su altura y edad. Tras esto, el programa nos mostrará el nombre de la persona más alta y, también la de más edad. En el segundo programa, introduciremos dos palabras y veremos si son la misma palabra o si son distintas.

Para comenzar, crearemos un nuevo proyecto, al cual denominaremos "CadenasDeCaracteres":

Para comenzar, de la misma forma que en los tutoriales anteriores, vamos a importar la clase Scanner para introducir datos mediante la consola. Además, crearemos un nuevo objeto de esta misma clase para leer los nombres, edades y alturas. Tras esto, declararemos las variable enteras edad1, edad2, altura1, altura2 y los strings nombre1 y nombre2.

package cadenasdecaracteres; import java.util.Scanner; /** * * @author mario * Tutorial 5: Cadenas de caracteres * */ public class CadenasDeCaracteres { public static void main(String[] args) { Scanner reader=new Scanner(System.in); int edad1, edad2, altura1, altura2; String nombre1, nombre2;

A continuación, pediremos al usuario que introduzca los nombres, las edades y las alturas. Esto lo aprendimos en tutoriales anteriores. Utilizaremos el método next() en todos los casos.

System.out.println("DATOS DE LA PRIMERA PERSONA"); System.out.print("Nombre: "); nombre1=reader.next(); System.out.print("Edad: "); edad1=reader.nextInt(); System.out.print("Altura (cm): "); altura1=reader.nextInt(); System.out.println("DATOS DE LA SEGUNDA PERSONA"); System.out.print("Nombre: "); nombre2=reader.next(); System.out.print("Edad: "); edad2=reader.nextInt(); System.out.print("Altura (cm): "); altura2=reader.nextInt();

Tras esto, haremos una comparación de las edades y estaturas y ofreceremos información al usuario sobre quién es más mayor y más alto.

//Introduzco una línea en blanco System.out.println(""); //Comparación de alturas if(altura1==altura2){ System.out.println(nombre1+" y "+nombre2+" tienen la misma estatura."); } else if(altura1>altura2){ System.out.println(nombre1+" mide más que "+nombre2+" ."); } else System.out.println(nombre2+" mide más que "+nombre1+" ."); //Comparación de edades: if(edad1==edad2){ System.out.println(nombre1+" y "+nombre2+" tienen la misma edad."); } else if(edad1>edad2){ System.out.println(nombre1+" es más mayor que "+nombre2+" ."); } else System.out.println(nombre2+" es más mayor que "+nombre1+" ."); } } El resultado de la ejecución es el siguiente:

El siguiente problema, como ya he comentado anteriormente, va a realizar una comparación entre dos cadenas para verificar si son la misma.

El código para introducir las cadenas es el siguiente y, no requiere explicación. Scanner reader=new Scanner(System.in); String cadena1, cadena2; System.out.print("Cadena 1: "); cadena1=reader.next(); System.out.print("Cadena 2: "); cadena2=reader.next();

Finalmente, para comparar las cadenas, utilizaremos el método equals(), que nos dirá si son iguales o no. Hay que decir que distingue mayúsculas de minúsculas.

if(cadena1.equals(cadena2)){ System.out.println("Las cadenas son iguales."); } else System.out.println("Las cadenas son diferentes.");

El resultado obtenido es el siguiente:

Como podéis ver, el tratamiento de las cadenas de caracteres es muy simple, pero había que contarlo. Lo único de lo que hay que acordarse es de declarar el objeto como String.

Os dejo el código para descargar en el siguiente enlace: Cadenas.zip

En el siguiente tutorial, hablaré un poco más sobre clases y objetos.