0% encontró este documento útil (0 votos)
111 vistas4 páginas

Cadenas de Caracteres en Java

Este documento explica el uso de cadenas de caracteres (String) en Java. Define una String como un objeto de la clase String que se usa para almacenar cadenas de texto. Explica cómo ingresar Strings usando los métodos next() y nextLine() del objeto Scanner, y cómo comparar Strings usando el método equals(). También muestra ejemplos de programas que solicitan Strings como nombres, apellidos y apellidos/nombres y realizan comparaciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
111 vistas4 páginas

Cadenas de Caracteres en Java

Este documento explica el uso de cadenas de caracteres (String) en Java. Define una String como un objeto de la clase String que se usa para almacenar cadenas de texto. Explica cómo ingresar Strings usando los métodos next() y nextLine() del objeto Scanner, y cómo comparar Strings usando el método equals(). También muestra ejemplos de programas que solicitan Strings como nombres, apellidos y apellidos/nombres y realizan comparaciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

13/5/2014 Cadenas de caracteres en Java

- Cadenas de caracteres en Java

En Java hemos visto que cuando queremos almacenar un valor entero definimos
una variable de tipo int, si queremos almacenar un valor con decimales definimos
una variable de tipo float. Ahora si queremos almacenar una cadena de caracteres
(por ejemplo un nombre de una persona) debemos definir un objeto de la clase
String.

Más adelante veremos en profundidad y detenimiento los conceptos de CLASE y


OBJETO, por ahora solo nos interesa la mecánica para trabajar con cadenas de
caracteres.

Problema 1:

Solicitar el ingreso del nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad.

Programa:

import java.util.Scanner;

public class CadenaDeCaracteres1 {


public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
String nombre1,nombre2;
int edad1,edad2;
System.out.print("Ingrese el nombre:");
nombre1=teclado.next();
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el nombre:");
nombre2=teclado.next();
System.out.print("Ingrese edad:");
edad2=teclado.nextInt();
System.out.print("La persona de mayor edad es:");
if (edad1>edad2) {
System.out.print(nombre1);
} else {
System.out.print(nombre2);
}
}
}

Para almacenar un nombre debemos definir una variable de tipo String y su ingreso por teclado se hace llamando al método
next() del objeto teclado:

nombre1=teclado.next();

La primera salvedad que tenemos que hacer cuando utilizamos el método next() es que solo nos permite ingresar una cadena
de caracteres con la excepción del espacio en blanco (es decir debemos ingresar un nombre de persona y no su nombre y
apellido separado por un espacio en blanco)

Veamos que existe otro método llamado nextLine() que nos permite cargar espacios en blanco pero para su uso se complica
cuando cargamos otras valores de tipo distinto a String (por ejemplo int, float etc.)

http://www.javaya.com.ar/detalleconcepto.php?codigo=86&inicio= 1/4
13/5/2014 Cadenas de caracteres en Java

Problema 2:

Solicitar el ingreso del apellido, nombre y edad de dos personas. Mostrar el nombre de la persona con mayor edad. Realizar
la carga del apellido y nombre en una variable de tipo String.

Programa:

import java.util.Scanner;

public class CadenaDeCaracteres2 {


public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
String apenom1,apenom2;
int edad1,edad2;
System.out.print("Ingrese el apellido y el nombre:");
apenom1=teclado.nextLine();
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el apellido y el nombre:");
teclado.nextLine();
apenom2=teclado.nextLine();
System.out.print("Ingrese edad:");
edad2=teclado.nextInt();
System.out.print("La persona de mayor edad es:");
if (edad1>edad2) {
System.out.print(apenom1);
} else {
System.out.print(apenom2);
}
}
}

Cuando se ingresa una cadena con caracteres en blanco debemos tener en cuenta en llamar al método nextLine()
Una dificultad se presenta si llamamos al método nextLine() y previamente hemos llamado al método nextInt(), esto debido a
que luego de ejecutar el método nextInt() queda almacenado en el objeto de la clase Scanner el caracter "Enter" y si llamamos
inmediatamente al método nextLine() este almacena dicho valor de tecla y continúa con el flujo del programa. Para solucionar
este problema debemos generar un código similar a:

System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el apellido y el nombre:");
teclado.nextLine();
apenom2=teclado.nextLine();

Como vemos llamamos al método nextLine() dos veces, la primera retorna la tecla "Enter" y la segunda se queda esperando
que ingresemos el apellido y nombre (tener en cuenta que esto es necesario solo si previamente se llamó al método nextInt()
o nextFloat().

Problema 3:

Solicitar el ingreso de dos apellidos. Mostrar un mensaje si son iguales o distintos.

Programa:

import java.util.Scanner;

public class CadenaDeCaracteres3 {


http://www.javaya.com.ar/detalleconcepto.php?codigo=86&inicio= 2/4
13/5/2014 Cadenas de caracteres en Java
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
String apellido1,apellido2;
System.out.print("Ingrese primer apellido:");
apellido1=teclado.next();
System.out.print("Ingrese segundo apellido:");
apellido2=teclado.next();
if (apellido1.equals(apellido2)) {
System.out.print("Los apellidos son iguales");
} else {
System.out.print("Los apellidos son distintos");
}
}
}

Para comparar si el contenido de dos String son iguales no podemos utilizar el operador ==. Debemos utilizar un método de
la clase String llamado equals y pasar como parámetro el String con el que queremos compararlo:

if (apellido1.equals(apellido2)) {

El método equals retorna verdadero si los contenidos de los dos String son exactamente iguales, esto hace que se ejecute el
bloque del verdadero.

Recordemos que hemos utilizado el método next() para la carga de los String, luego esto hace que no podamos ingresar un
apellido con espacios en blanco (podemos probar que si ingresamos por ejemplo "Rodriguez Rodriguez" en el primer
apellido, luego se carga la cadena "Rodriguez" en la variable apellido1 y "Rodriguez" en la variable apellido2 (con esto
hacemos notar que cada vez que ingresamos un espacio en blanco cuando utilizamos el método next() los caracteres que
siguen al espacio en blanco son recuperados en la siguiente llamada al método next())

El método equals retorna verdadero si los contenidos de los dos String son exactamente iguales, es decir si cargamos
"Martinez" en apellido1 y "martinez" en apellido2 luego el método equals retorna falso ya que no es lo mismo la "M"
mayúscula y la "m" minúscula.

En el caso que necesitemos considerar igual caracteres mayúsculas y minúsculas podemos utilizar el método
equalsIgnoreCase:

if (apellido1.equalsIgnoreCase(apellido2)) {
System.out.print("Los apellidos son iguales sin tener en cuenta mayúsculas y minúsculas");
} else {
System.out.print("Los apellidos son distintos sin tener en cuenta mayúsculas y minúsculas");
}

http://www.javaya.com.ar/detalleconcepto.php?codigo=86&inicio= 3/4
13/5/2014 Cadenas de caracteres en Java

Retornar

http://www.javaya.com.ar/detalleconcepto.php?codigo=86&inicio= 4/4

También podría gustarte