You are on page 1of 35

Pregunta1: Realizar un mtodo que elimine los espacios en blanco a una cadena.

El
mtodo se debe llamar eliminaEspacioBlancoCadena y debe entregar una nueva cadena
con la caracterstica indicada. La impresin de la cadena original y la cadena final debe
realizarse con el mtodo imprimeCadena. New char m= Ma nuel.charAt(0)
Pregunta2: Se tiene la siguiente matriz cuadrada formada con nmeros enteros:
static int[][]matrix = {{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
{10,11,12,13,14,15,16,17,18,19},
{20,21,22,23,24,25,26,27,28,29},
{30,31,32,33,34,35,36,37,38,39},
{40,41,42,43,44,45,46,47,48,49},
{50,51,52,53,54,55,56,57,58,59},
{60,61,62,63,64,65,66,67,68,69},
{70,71,72,73,74,75,76,77,78,79},
{80,81,82,83,84,85,86,87,88,89},
{90,91,92,93,94,95,96,97,98,99}};
Se pide elaborar los siguientes mtodos:
imprimeMatriz: Imprime en pantalla todos los elementos de la matriz.
imprimeMayorElementoMatriz: Calcula el mayor elemento de la matriz y la
imprime, indicando la fila y columna a la cual pertenece.
imprimeMenorElementoMatriz: Calcula el menor elemento de la matriz y la
imprime, indicando la fila y columna a la cual pertenece.
sumaDiagonalPrincipalMatriz: Suma los elementos ubicados en la diagonal
principal de la matriz.
sumaDiagonalSecundariaMatriz: Suma los elementos ubicados en la diagonal
secundaria de la matriz.















ARREGLO O ARRAY
Un array es una coleccin finita de datos del mismo tipo, que se almacenan
en posiciones consecutivas de memoria y reciben un nombre comn.
Ejemplo: almacenar las notas de 20 estudiantes.
Podemos representar grficamente el array de notas de la siguiente forma:

Para acceder a cada elemento del array se utiliza el nombre del array y
un ndice que indica la posicin que ocupa el elemento dentro del array.
El ndice se escribe entre corchetes.
El primer elemento del array ocupa la posicin 0, el segundo la posicin 1 y asi
secesivamente.
En un array de N elementos el ltimo ocupar la posicin N-1.
En el ejemplo anterior, notas[0] contiene la nota del primer estudiante y notas[19]
contiene la del ltimo estudiante.
Los ndices deben ser enteros no negativos.
Creando Arrays Unidimensionales
Para crear un array se deben realizar dos operaciones:
Declaracin
Instanciacin
Declarar de un array
De forma general un array unidimensional se puede declarar en java de cualquiera de estas
dos formas:
tipo [ ] nombreArray;
tipo nombreArray[ ];
tipo: indica el tipo de datos que contendr. Un array puede contener elementos de
tipo bsico o referencias a objetos.
nombreArray: es la referencia al array. Es el nombre que se usar en el programa
para manejarlo.
Ejemplo:
int [ ] datos; //array de datos de tipo int llamado datos.
double [ ] temperatura; //array de datos de tipo double llamado temperatura.
String [ ] nombres; //array de datos de tipo String llamado nombres.
Instanciar un array
Mediante la instanciacin se reserva memoria RAM para almacenar todos los elementos del
array. La direccin donde comienza el bloque de memoria donde se almacenar el
array se asigna al nombre del array. De forma general:
nombreArray = new tipo[tamao];
nombreArray: es el nombre creado en la declaracin.
tipo: indica el tipo de datos que contiene.
tamao: es el nmero de elementos del array. Debe ser una expresin entera
positiva. El tamao del array no se puede modificar durante la ejecucin del
programa.
new: operador para crear objetos. Mediante new se asigna la memoria necesaria
para ubicar el objeto. Java implementa los arrays como objetos.
Ejemplo:
datos = new int[5];
Se reserva memoria para 5 enteros y se asigna la direccin de inicio del array a
datos.
Lo normal es que la declaracin y la instanciacin se hagan en una sola instruccin:
tipo [ ] nombreArray = new tipo[tamao];
Ejemplo:
int [ ] datos = new int [5];
El tamao del array tambin se puede indicar durante la ejecucin del programa, es decir, en
tiempo de ejecucin se puede pedir por teclado el tamao del array y crearlo:
Scanner sc = new Scanner(System.in);
System.out.print("Nmero de elementos del array: ");
int numeroElementos = sc.nextInt();
int [] ventas = new int[numeroElementos];
Si no hay memoria suficiente para crear el array, new lanza una excepcin
java.lang.OutOfMemoryError.
Inicializando Arrays Unidimensionales
Un array es un objeto, por lo tanto, cuando se crea, a sus elementos se les asigna
automticamente un valor inicial:
0 para arrays numricos
'\u0000' (carcter nulo) para arrays de caracteres
false para arrays booleanos
null para arrays de String y de referencias a objetos.
Podemos designar otros valores iniciales al array cuando lo creamos necesario.
Los valores iniciales se deben escriben entre llaves separados por comas.
Los valores iniciales deben aparecer en el orden en que sern asignados a los
elementos del array.
El nmero de valores determina el tamao del array.
Ejemplo: Creacin de un array de 6 notas del tipo int, con sus respectivas asignaciones de
valores iniciales.
int [ ] notas = {4, 7, 13, 8, 11, 5};
Ejemplo: Creacin de un array de 4 elementos booleanos, con sus respectivas asignaciones
de valores iniciales.
boolean [ ] resultados = {true,false,true,false};
Ejemplo: Creacin de un array de 7 elementos de tipo String con sus respectivas
asignaciones de valores iniciales.
String [ ] dias = {"Lunes", "Martes", "Mircoles", "Jueves", "Viernes",
"Sbado", "Domingo"};
Accediendo a los elementos de un Array
Para acceder a cada elemento del array se utiliza el nombre del array y un ndice que indica
la posicin que ocupa el elemento dentro del array. El ndice se debe escribe entre
corchetes. Se puede utilizar como ndice un valor entero, una variable de tipo entero o una
expresin de tipo entero.
El primer elemento del array ocupa la posicin 0, el segundo la posicin 1, etc. En un array
de N elementos el ltimo ocupar la posicin N-1.
Un elemento de un array se puede utilizar igual que cualquier otra variable. Se puede hacer
con ellos las mismas operaciones que se pueden hacer con el resto de variables
(incremento, decremento, operaciones aritmticas, comparaciones, etc).
Ejemplo:
int m = 5;
int [ ] datos = new int [m];

Ejemplo:
a [1] = 2;

Ejemplo:
a [2] = a [1] ;

Ejemplo:
a [0] = a [1] + a [2] + 2 ;

Ejemplo:
a [0] ++;

Ejemplo:
int m = 5;
a [3] = m + 10 ;

Si se intenta acceder a un elemento que est fuera de los lmites del array (un elemento con
ndice negativo o con un ndice mayor que el que corresponde al ltimo elemento del array),
el error se producir durante la ejecucin del programa: lanzar una excepcin
java.lang.ArrayIndexOutOfBoundsException.
Se puede saber el nmero de elementos del array mediante el atributo length. Podemos
utilizar length para comprobar el rango del array y evitar errores de acceso. Ejemplo:
import java.util.*;
public class P01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i, valor;
int [] a = new int[10];
System.out.print("Posicin: ");
i = sc.nextInt();
System.out.print("Valor: ");
valor = sc.nextInt();
if (i>=0 && i<a.length) {
a[i] = valor;
System.out.print("El dato fue grabado sin problemas");
}
else
System.out.print("No es una posicin vlida");
}
}









Ejercicio: Elaborar un programa que tenga los siguientes mtodos:
ingresaNumero: Permita el ingreso por teclado del nmero de elementos de un
array.
ingresaArreglo: Ingresar por teclado el valor de cada elemento del array en forma
ordenada (debe ser nmeros enteros).
imprimeArreglo: Visualizar en pantalla el valor de cada elemento del array.
Solucin:
import java.util.Scanner;
public class P01 {
public static void main(String args[]){
int cantidad;
cantidad =ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo,cantidad);
imprimeArreglo(arreglo,cantidad);
}
public static int ingresaNumero(){
Scanner sc= new Scanner(System.in);
int n;
System.out.print("Ingrese el numero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2,int n){
Scanner sc= new Scanner(System.in);
for(int i=0;i<n;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void imprimeArreglo(int[] arreglo2,int n){
System.out.print("Los elementos de la matriz son: ");
for(int i=0;i<n;i++ ){
System.out.print( arreglo2[i]+" ");
}
System.out.println("");
}
}
VARIABLES GLOBALES
Son variables que pueden ser usadas en cualquier mtodo o procedimiento del programa.
La declaracin de las variables globales deben estar precedidas de la palabra static.
Las variables globales deben ser declaradas antes de main.
import java.util.Scanner;
public class P01 {
static int var1;
static int var2 = 4;
static Scanner sc= new Scanner(System.in);
public static void main(String[] args) {
instrucciones;
}
}
Ejemplo: Desarrollamos el ejercicio anterior empleando variables globales.
import java.util.Scanner;
public class P01 {
static int cantidad;
static Scanner sc= new Scanner(System.in);
public static void main(String args[]){
cantidad =ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo);
imprimeArreglo(arreglo);
}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el numero de elementos de la matriz: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2){
for(int i=0;i<cantidad;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void imprimeArreglo(int[] arreglo2){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cantidad;i++ ){
System.out.print( arreglo2[i]+" ");
}
}
}
Ejemplo: Al programa anterior adicionar un mtodo denominado buscaMayor, que
determine el mayor elemento dentro de un arreglo. En el programa principal se debe enviar a
imprimir dicho elemento y su posicin dentro del arreglo (ndice).
Solucin: Definimos una variable denominada Mayor y almacenamos en ella el primer
elemento del arreglo. Luego vamos a realizar una comparacin de cada uno de los
elementos restantes con dicha variable (Mayor). Si encontramos algn valor mayor a Mayor,
entonces ese ser el nuevo valor de Mayor.

import java.util.Scanner;
public class P01 {
static int cantidad;
static Scanner sc= new Scanner(System.in);
static int mayor, posicion;
public static void main(String args[]){
cantidad =ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo);
buscaMayor(arreglo);
imprimeArreglo(arreglo);
System.out.println("El mayor elemento es: arreglo[" + posicion +"] = " + mayor);
}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el nmero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2){
for(int i=0;i<cantidad;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void buscaMayor(int[] arreglo2){
mayor=arreglo2[0];
posicion=0;
for(int i=1;i<cantidad;i++ ){
if (mayor<arreglo2[i]){
mayor=arreglo2[i];
posicion=i;
}
}
}
public static void imprimeArreglo(int[] arreglo2){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cantidad;i++ ){
System.out.print( arreglo2[i]+" ");
}
System.out.println("");
}
}
Ejercicio: Al programa anterior adicionar un mtodo denominado ubicaMayor, que
almacene en la primera posicin del arreglo, al mayor elemento.
Solucin: Definimos el primer elemento como mayor y luego mediante un FOR lo
comparamos: si hay un elemento que es mayor a arreglo[0], entonces debemos
intercambiar los valores, para ello hacemos uso de una variable llamada temp.


import java.util.Scanner;
public class P01 {
static int cantidad;
static Scanner sc= new Scanner(System.in);
public static void main(String args[]){
cantidad =ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo);
ubicaMayor(arreglo);
imprimeArreglo(arreglo);
}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el nmero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2){
for(int i=0;i<cantidad;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void ubicaMayor(int[] arreglo2){
for(int i=1;i<cantidad;i++ ){
if (arreglo2[0]<arreglo2[i]){
int temp=arreglo2[0];
arreglo2[0]=arreglo2[i];
arreglo2[i]=temp;
}
}
}
public static void imprimeArreglo(int[] arreglo2){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cantidad;i++ ){
System.out.print( arreglo2[i]+" ");
}
System.out.println("");
}
}
Ejemplo: En funcin a lo explicado en el ejercicio anterior, desarrollar un mtodo que
reemplace al mtodo ubicaMayor, el cual ordene los contenidos del arreglo en forma
decreciente (de mayor a menor). Dicho mtodo se debe llamar ordenaArreglo.
Solucin: Observamos que usando el algoritmo empleado en ubicaMayor podemos
resolver este problema.

Lo que debemos hacer es adicionar un segundo FOR para que se encarge de ir
incrementando el valor incial de la variable j.


import java.util.Scanner;
public class P01 {
static int cantidad;
static Scanner sc= new Scanner(System.in);
public static void main(String args[]){
cantidad = ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo);
ordenarArreglo(arreglo);
imprimirArreglo(arreglo);
}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el numero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2){
for(int i=0;i<cantidad;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void ordenarArreglo(int[] arreglo2){
for(int i=0;i<cantidad-1;i++){
for(int j=i+1;j<cantidad;j++){
if (arreglo2[i]<arreglo2[j]){
int temporal=arreglo2[j];
arreglo2[j]=arreglo2[i];
arreglo2[i]=temporal;
}
}
}
}
public static void imprimirArreglo(int[] arreglo2){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cantidad;i++ ){
System.out.print( arreglo2[i]+" ");
}
System.out.println("");
}
}
Ejercicio: Realizar un programa que tenga los siguientes mtodos:
ingresaNumero: Ingreso del nmero de elementos de un arreglo.
ingresoArreglo: Ingreso de todos los elementos del arreglo (deben ser nmeros
enteros).
imprimeArreglo: Imprime en pantalla el arreglo ingresado.
En el programa principal se debe solicitar el ingreso de un nmero con el cual se calcular
los elementos mltiplos.

calcularMultiplos: Determina cuantos mltiplos de N hay en un arreglo.
El programa principal imprimir cuantos elementos son mltiplos del nmero ingresado.
Solucin:
import java.util.Scanner;
public class P01 {
static int cantidad, num, multiplo=0;
static Scanner sc= new Scanner(System.in);
public static void main(String args[]){
cantidad = ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo);
imprimirArreglo(arreglo);
System.out.print("Ingrese el nmero para contar los mltiplos del arreglo: ");
num = sc.nextInt();
calcularMultiplos(arreglo);
System.out.print("El arreglo tiene " + multiplo + " mltiplos del nmero " + num);
}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el numero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2){
for(int i=0;i<cantidad;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void imprimirArreglo(int[] arreglo2){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cantidad;i++ ){
System.out.print( arreglo2[i]+" ");
}
System.out.println("");
}
public static void calcularMultiplos(int[] arreglo2){
for(int i=0;i<cantidad;i++){
if (arreglo2[i]%num==0){
multiplo++;
}
}
}
}
Ejercicio: Realizar un programa que tenga los siguientes mtodos:
ingresaNumero: Ingreso del nmero de elementos de un arreglo.
ingresoArreglo: Ingreso de todos los elementos del arreglo (deben ser nmeros
enteros).
imprimeArreglo: Imprime en pantalla el arreglo ingresado.
calcularMultiplos: Determina cuantos mltiplos de N hay en un arreglo.
Con el dato del nmero de mltiplos, crear en el programa principal un arreglo para
almacenar los mltiplos encontrados.

ingresaMultiplos: Almacena en el arreglo creado en el paso anterior, todos los
mltiplos.
imprimeArreglo: Imprime en pantalla el arreglo de los mltiplos.
Observar que el mtodo imprimeArreglo es el mismo en los dos casos, por ende deber
disearlo de tal manera que sea independiente de cualquier arreglo.
Solucin:
import java.util.Scanner;
public class P01 {
static int cantidad, num, multiplo=0;
static Scanner sc= new Scanner(System.in);
public static void main(String args[]){
cantidad = ingresaNumero();
int [] arreglo=new int [cantidad];
ingresaArreglo(arreglo);
imprimirArreglo(arreglo,cantidad);
System.out.print("Ingrese el nmero para contar los mltiplos del arreglo: ");
num = sc.nextInt();
calcularMultiplos(arreglo);
System.out.println("El arreglo tiene " + multiplo + " mltiplos del nmero " + num);
int [] arregloMultiplo=new int [multiplo];
ingresaMultiplos(arreglo,arregloMultiplo);
imprimirArreglo(arregloMultiplo,multiplo);
}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el numero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo2){
for(int i=0;i<cantidad;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo2[i]=sc.nextInt();
}
}
public static void imprimirArreglo(int[] arreglo2,int cant){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cant;i++ ){
System.out.print( arreglo2[i]+" ");
}
System.out.println("");
}
public static void calcularMultiplos(int[] arreglo2){
for(int i=0;i<cantidad;i++){
if (arreglo2[i]%num==0){
multiplo++;
}
}
}
public static void ingresaMultiplos(int[] arreglo2,int[] arregloM){
int j=0;
for(int i=0;i<cantidad;i++){
if (arreglo2[i]%num==0){
arregloM[j]=arreglo2[i];
j++;
}
}
}
}
Ejercicio: Realizar un programa que permita cargar dos arreglos unidimensionales
(arregloA y arregloB) con nmeros enteros, y con ellos generar un tercer arreglo (arregloM)
cuyos elementos deben ser grabados de la siguiente manera:
Primero se graban los mltiplos de numA del arregloA
Luego se graban los mltplos de numB del arregloB
El programa debe imprimir los tres arreglos.
El programa debe tener los siguientes mtodos:
ingresaNmero
ingresaArreglo
imprimeArreglo
El programa principal debe solicitar los valores de numA y numB.
calcularMultiplos
ingresarMultiplosDos: Ingresa primero los valores mltiplos de numA de arregloA y
luego los mltiplos de numB de arregloB.

Ejemplo:
arregloA: 2 5 6 9 1 12
arregloB: 8 5 3 6 14

numA = 2
numB = 3

arregloM: 2 6 12 3 6
Solucin:
import java.util.Scanner;
public class P01 {
static int cantidadA,cantidadB,multiploA,multiploB,numA,numB;
static Scanner sc= new Scanner(System.in);

public static void main(String args[]){

cantidadA = ingresaNumero();
int [] arregloA=new int [cantidadA];
ingresaArreglo(arregloA,cantidadA);
imprimirArreglo(arregloA,cantidadA);

cantidadB = ingresaNumero();
int [] arregloB=new int [cantidadB];
ingresaArreglo(arregloB,cantidadB);
imprimirArreglo(arregloB,cantidadB);

System.out.print("Ingrese el nmero para contar los mltiplos del arregloA: ");
numA = sc.nextInt();
System.out.print("Ingrese el nmero para contar los mltiplos del arregloB: ");
numB = sc.nextInt();

multiploA=calcularMultiplos(arregloA,cantidadA,numA);
System.out.println("El arregloA tiene " + multiploA + " mltiplos del nmero " + numA);

multiploB=calcularMultiplos(arregloB,cantidadB,numB);
System.out.println("El arregloB tiene " + multiploB + " mltiplos del nmero " + numB);

System.out.println(multiploA+multiploB);

int [] arregloMultiplo=new int [multiploA+multiploB];
ingresaMultiplosDos(arregloA,arregloB,arregloMultiplo);
imprimirArreglo(arregloMultiplo,multiploA+multiploB);

}
public static int ingresaNumero(){
int n;
System.out.print("Ingrese el numero de elementos del arreglo: ");
n = sc.nextInt();
return n;
}
public static void ingresaArreglo(int [] arreglo1,int cant){
for(int i=0;i<cant;i++){
System.out.print("Ingrese el elemento "+i+": ");
arreglo1[i]=sc.nextInt();
}
}
public static void imprimirArreglo(int[] arreglo1,int cant){
System.out.print("Los elementos del arreglo son: ");
for(int i=0;i<cant;i++ ){
System.out.print( arreglo1[i]+" ");
}
System.out.println("");
}
public static int calcularMultiplos(int[] arreglo1,int cantidad, int num){
int multiplo=0;
for(int i=0;i<cantidad;i++){
if (arreglo1[i]%num==0){
multiplo++;
}
}
return multiplo;
}
public static void ingresaMultiplosDos(int[] arreglo1,int[] arreglo2,int[] arregloM){
int k=0;
for(int i=0;i<cantidadA;i++){
if (arreglo1[i]%numA==0){
arregloM[k]=arreglo1[i];
k++;
}
}
for(int j=0;j<cantidadB;j++){
if (arreglo2[j]%numB==0){
arregloM[k]=arreglo2[j];
k++;
}
}
}
}
Ejercicio: Realizar un programa que tenga los siguientes mtodos:
ingresaNumero: Ingreso del nmero de elementos de un arreglo.
ingresoArreglo: Ingreso de todos los elementos del arreglo (deben ser dgitos del 0
al 9, sin validacin.
imprimeArreglo: Imprime en pantalla el arreglo ingresado.
calcularCapicua: Determina si el nmero formado por todos los elementos del
arreglo es un nmero capica.

Ejercicio: Elaborar un programa que tenga un arreglo de 10 datos, los cuales deben ser
cargados aleatoriamente con nmeros del 0 al 20 y que tenga los siguientes mtodos:
calculoPromedioArreglo:
calculoMayorQuePromedioArreglo: Calcula el nmero de elementos que son
mayores al promedio.
calculoMediaGeometricaArreglo:
calculoModaArreglo: Moda es el nmero que aparece con ms frecuencia.
calculoVarianzaArreglo:
ordenaCrecienteArreglo:
calculoMedianaArreglo:

Ejercicio: Se tiene un arreglo de 10 datos, los cuales deben ser cargados aleatoriamente
con nmeros del 10 al 40. Se solicita crear un nuevo arreglo en donde se inserte un nuevo
dato en una determinada posicin. El programa debe tener los siguientes mtodos:
llenaAleatorioArreglo
imprimeArreglo
ingresoNumero
insertaDatoEnArreglo
Todos los ingresos de datos deben estar validados.

Ejercicio: Se tiene un arreglo de 10 datos, los cuales deben ser cargados aleatoriamente
con nmeros del 10 al 20. Se debe ordenar dicho arreglo de menor a mayor. Se solicita crear
un nuevo arreglo en donde se inserte un nuevo dato en el lugar que corresponda para
mantener el arreglo ordenado. El programa debe tener los siguientes mtodos:
llenaAleatorioArreglo
imprimeArreglo
ordenaAscendenteArreglo
ingresoNumero
insertaDatoEnArregloOrdenado
Todos los ingresos de datos deben estar validados.
































CADENAS (String)
Un String en Java representa una cadena de caracteres no modificable. Todos los literales
de la forma "cualquier texto", es decir, literales entre comillas dobles, que aparecen en un
programa java se implementan como objetos de la clase String.
Creando un String
Se puede crear un string de varias formas, entre ellas:
Utilizando una cadena de caracteres entre comillas:
String s1 = "abcdef";
Utilizando operador de concatenacin +con dos o ms objetos String:
String s2 = s1 + "ghij"; //s2 contiene "abcdefghij"
String s3 = s1 + s2 + "klm"; //s3 contiene "
abcdefabcdefghijklm"
Adems la clase string proporciona varios constructores, entre ellos:
Constructor Descripcin
String()
Constructor por defecto. El nuevo String toma el valor ""
String s = new String(); //crea el string s vaco.
Equivale a: String s = "";
String(String s )
Crea un nuevo String, copiando el que recibe como parmetro.
String s = "hola";
String s1 = new String(s);
//crea el String s1 y le copia el contenido de s
String( char[] v )
Crea un String y le asigna como valor los caracteres contenidos en el
array recibido como parmetro.
char [] a = {'a', 'b', 'c', 'd', 'e'};
String s = new String(a);
//crea String s con valor "abcde"
String(char[] v, int
pos, int n)
Crea un String y le asigna como valor los n caracteres contenidos en el
array recibido como parmetro, a partir de la posicin pos.
char [] a = {'a', 'b', 'c', 'd', 'e'};
String s = new String(a, 1, 3);
//crea String s con valor "bcd";
Los objetos String no son modificables, por lo cual los mtodos que actan sobre un
String con la intencin de modificarlo lo que hacen es crear un nuevo String a partir del
original y devolverlo modificado.
Ejemplo: Una operacin como convertir a maysculas o minsculas un String no lo
modificar sino que crear y devolver un nuevo String con el resultado de la operacin.
String s = "abc";

s = s.toUpperCase(); //convertir a maysculas el contenido del String s

El recolector de basura es el encargado de eliminar de forma automtica los objetos a los
que ya no hace referencia ninguna variable.
En conclusin, los objetos de la clase String son constantes lo cual significa que por
defecto, solamente se pueden crear y leer pero no se pueden modificar.
MTODOS DE LA CLASE STRING
La clase String proporciona mtodos para el tratamiento de las cadenas de caracteres:
acceso a caracteres individuales, buscar y extraer una subcadena, copiar cadenas, convertir
cadenas a maysculas o minsculas, etc.
Mtodo Descripcin
length() Devuelve la longitud de la cadena
indexOf(caracter)
Devuelve la posicin de la primera aparicin de
carcter
lastIndexOf(caracter)
Devuelve la posicin de la ltima aparicin de
carcter
charAt(n) Devuelve el carcter que est en la posicin n
substring(n1,n2)
Devuelve la subcadena comprendida entre las
posiciones n1 y n2 ambas incluidas
toUpperCase() Devuelve la cadena convertida a maysculas
toLowerCase() Devuelve la cadena convertida a minsculas
equals("cad")
Compara dos cadenas y devuelve true si son
iguales
equalsIgnoreCase("cad")
Igual que equals pero sin considerar maysculas y
minsculas
compareTo(OtroString)
Devuelve 0 si las dos cadenas son iguales. <0 si la
primera es alfabticamente menor que la segunda
>0 si la primera es alfabticamente mayor que la
segunda.
compareToIgnoreCase(OtroString)
Igual que compareTo pero sin considerar
maysculas y minsculas.
valueOf(N)
Mtodo esttico. Convierte el valor N a String. N
puede ser de cualquier tipo.
Podemos conocer si un string comienza con un determinado prefijo, llamando al
mtodo startsWith, que devuelve true o false, segn que el string comience o no por dicho
prefijo
String cadena="El primer programa";
boolean resultado=cadena.startsWith("El");
En este ejemplo la variable resultado tomar el valor true.
De modo similar, podemos saber si un string finaliza con un conjunto dado de caracteres,
mediante la funcin miembro endsWith.
String cadena="El primer programa";
boolean resultado=cadena.endsWith("programa");
Si se quiere obtener la posicin de la primera ocurrencia de la letra p, se usa la
funcin indexOf.
String cadena="El primer programa";
int pos=cadena.indexOf('p');
Para obtener las sucesivas posiciones de la letra p, se llama a otra versin de la misma
funcin:
pos=cadena.indexOf('p', pos+1);
El segundo argumento le dice a la funcin indexOf que empiece a buscar la
primera ocurrencia de la letra p a partir de la posicin pos+1.
Otra versin de indexOf busca la primera ocurrencia de un substring dentro del string:
String cadena="El primer programa";
int pos=cadena.indexOf("pro");
Para comparar dos cadenas de caracteres utilizamos la funcin equals:
String str1="El lenguaje Java";
String str2="El lenguaje Java";
if (str1.equals(str2))
Ejemplo: Programa que calcula la longitud de una cadena de caracteres, lo muestra en
mayscula y en minscula.
public class P01 {
public static void main(String[] args) {
int i,pos;
boolean resultado;
String cadena="El primer programa";

int longitud = cadena.length();
System.out.println("La longuitud de la cadena es: "+ longitud);

resultado=cadena.startsWith("El");
System.out.println("La cadena inicia con las letras El? "+ resultado);

resultado=cadena.endsWith("grama");
System.out.println("La cadena finaliza con las letras grama? "+ resultado);

pos=cadena.indexOf('p');
System.out.println("La posicin del primer caracter p es: "+ pos);

pos=cadena.indexOf('p', pos+1);
System.out.println("La posicin del segundo caracter p es: "+ pos);

pos=cadena.indexOf("pro");
System.out.println("La posicin de la cadena de caracteres pro es: "+ pos);

for (i=0;i<cadena.length();i++){
char letra = cadena.charAt(i);
System.out.print(letra);
}
System.out.println();
cadena = cadena.toUpperCase();
System.out.println("La cadena en maysculas es: " + cadena);
cadena = cadena.toLowerCase();
System.out.println("La cadena en minscula es: " + cadena);
}
}
Ejemplo: Programa que compara dos cadenas de caracteres para ver si son iguales o no.
Esto se realiza mediante el mtodo equals.
public class P01 {
public static void main(String[] args) {
String cadena1="Hola mundo";
String cadena2="Esto es un mensaje";
String cadena3="Esto es un mensaje";

System.out.println("La cadena 1 es: " + cadena1);
System.out.println("La cadena 2 es: " + cadena2);
System.out.println("La cadena 3 es: " + cadena3);

if(cadena1.equals(cadena2))
System.out.println("La cadena 1 es igual a cadena 2");
else
System.out.println("La cadena 1 es diferente de cadena 2");
if(cadena2.equals(cadena3))
System.out.println("La cadena 2 es igual a cadena 3");
else
System.out.println("La cadena 2 es diferente de cadena 3");
}
}
Ejemplo: Programa que imprime una cadena y su correspondiente longitud. Mediante el
mtodo denominado imprimeCadena, imprime la cadena, caracter por caracter haciendo
uso de charAt(i).
public class P01 {
public static void main(String[] args) {
String cadena="Universidad Nacional de Ingeniera";
imprimeCadena(cadena);
System.out.println("La longuitud de la cadena es: "+ cadena.length());
}
public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
}
Ejemplo: Adicionar al program anterior un mtodo
denominado imprimeCaracterCadena el cual cuente cuantas veces se repite una letra en un
mensaje. El mtodo debe imprimir en que posicin del mensaje esta ubicado cada
letra encontrada.
public class P01 {
public static void main(String[] args) {
String cadena="Universidad Nacional de Ingeniera";
System.out.println("La longuitud de la cadena es: "+ cadena.length());
imprimeCadena(cadena);
char letra='e';
imprimeCaracterCadena(cadena,letra);
}
public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
public static void imprimeCaracterCadena(String c1, char l){
int cantidad = 0;
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
if (letra==l){
cantidad++;
System.out.println("La letra " + l + " esta ubicada en la posicin: " + i);
}
}
System.out.println("\nLa cadena tiene " + cantidad + " letras " + l);
}
}
Ejemplo: Realizar un programa el cual cuente cuantas veces se repite la letra i en un
mensaje (sea mayscula, minscula o con tlde). El programa debe imprimir en que posicin
del mensaje esta ubicado cada una de las letras encontradas.
Ejercicio: Realizar un programa el cual tiene una cadena de caracteres (que esta
formada por palabras y esta escrito en mayscula y minscula) y lo convierta a otra cadena
pero en mayscula mediante un mtodo denominado convierteMayusculaCadena. La
impresin de la cadena original y la cadena en mayscula, debe hacerse mediante el
mtodo imprimeCadena.
Solucin:
public class P01{
public static void main(String[] args) {
String cadena="Universidad Nacional de Ingeniera";
System.out.println("La longuitud de la cadena es: "+ cadena.length());
imprimeCadena(cadena);
String cadenamayu=convierteMayusculaCadena(cadena);
imprimeCadena(cadenamayu);
}
public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
public static String convierteMayusculaCadena(String c1){
String c1mayu="";
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
if (letra>='a' && letra<='z')
letra=(char)(letra-32);
c1mayu=c1mayu + letra;
}
return c1mayu;
}
}
Ejercicio: Adicionar al programa anterior el mtodo
denominado convierteMinusculaCadena, el cual convierta una cadena a minscula.
Solucin:
public class P01{
public static void main(String[] args) {
String cadena="Universidad Nacional de Ingeniera";
System.out.println("La longuitud de la cadena es: "+ cadena.length());
imprimeCadena(cadena);
String cadenamayu=convierteMayusculaCadena(cadena);
imprimeCadena(cadenamayu);
String cadenaminu=convierteMinusculaCadena(cadena);
imprimeCadena(cadenaminu);
}
public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
public static String convierteMayusculaCadena(String c1){
String c1mayu="";
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
if (letra>='a' && letra<='z')
letra=(char)(letra-32);
c1mayu=c1mayu + letra;
}
return c1mayu;
}
public static String convierteMinusculaCadena(String c1){
String c1minu="";
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
if (letra>='A' && letra<='Z')
letra=(char)(letra+32);
c1minu=c1minu + letra;
}
return c1minu;
}
}
Ejercicio: Realizar un programa el cual lea una cadena de caracteres (que tiene varias
palabras y esta escrito todo en minscula) y mediante un mtodo
denominado primerCaracterPalabraMayuscula, genere otra cadena en la cual el primer
caracter de cada palabra esta en mayscula. Asumir que la cadena de caracteres solo tiene
un espacio en blanco entre cada palabra. La impresin de la cadena original y la cadena final
debe realizarse con el mtodo imprimeCadena.
Solucin:
public class P01 {
public static void main(String[] args) {
String cadena="esto es un mensaje del jefe";
imprimeCadena(cadena);
String cadenaformato=primerCaracterPalabraMayuscula(cadena);
imprimeCadena(cadenaformato);
}
public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
public static String primerCaracterPalabraMayuscula(String c1){
String c1formato="";
int mayu=0;
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
if (i==0){
letra=(char)(letra-32);
}
if (mayu==1){
letra=(char)(letra-32);
mayu=0;
}
if (letra==' '){
mayu=1;
}
c1formato=c1formato+letra;
}
return c1formato;
}
}
Observar que el programa falla cuando una de las primeras letras ya es mayscula. Para ello
lo que podemos hacer es convertir previamente toda la cadena en mayscula.
Ejercicio: Adicionar el programa anterior un nuevo mtodo
denominado cuentaCadenaPalabras, la cual devuelve la cantidad de palabras que tiene una
cadena.
Solucin:
public class P01 {
public static void main(String[] args) {
String cadena=" Esto es un mensaje del jefe de logistica";
imprimeCadena(cadena);
String cadenaformato=eliminaEspacioBlancoCadena(cadena);
imprimeCadena(cadenaformato);
int palabras=cuentaPalabrasCadena(cadenaformato);
System.out.print("La cadena tiene " + palabras + " palabras");
}
public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
public static String eliminaEspacioBlancoCadena(String c1){
int sw=0;
String c1formato="";
for (int i=0; i<c1.length(); i++){
if(c1.charAt(i)!=' '){
c1formato=c1formato+c1.charAt(i);
sw=1;
}
else if(sw==1){
c1formato=c1formato+c1.charAt(i);
sw=0;
}
}
return c1formato;
}
public static int cuentaPalabrasCadena(String c1){
int cuenta=0;
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
if(c1.charAt(i)==' '){
cuenta++;
}
}
return (cuenta+1);
}
}
Extraer un substring de un string
Para extraer un string (o substring) de otro string utilizamos la funcin
denominada substring. Ejemplo:
String str="El lenguaje Java";
String subStr=str.substring(12);
Se obtendr el substring "Java".
Ejercicio: Elaborar un programa que permita extraer una sub cadena de una cadena
(igual a substring()). El programa debe solicitar el ingreso de la posicin apartir de la cual se
va a extraer la subcadena.
Una variante de substring() es especificando una posicin de inicial y final de la cadena
String str="El lenguaje Java";
String subStr=str.substring(3, 11);
Se obtendr el substring "lenguaje".
Recuerde que las posiciones se empiezan a contar desde cero.
Convertir un nmero a string
Para convertir un nmero entero a String se emplea la funcin esttica valueOf
int num= 10;
String cadena = String.valueOf(num);
Otra opcin es emplear el mtodo to.String
int num=1234;
String cadena=Integer.toString(num);
Para convertir un nmero decimal del tipo float a String utilizamos el mtodo Float.toString
float num=0.5f;
cadena=Float.toString(num);
Para convertir un nmero decimal del tipo double a String utilizamos el mtodo
Double.toString
double num=5.10;
String cadena=Double.toString(num);
Ejemplo: Realizar un programa que solicite el ingreso de un nmero decimal (double) e
imprima cuantos dgitos tiene antes del punto y despus del punto decimal.
import java.util.Scanner;
public class P01 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
double d;
System.out.print("Introduzca nmero de tipo double: ");
d = teclado.nextDouble();
String cadena = Double.toString (d);
int punto= cadena.indexOf ('.');
System.out.println (d);
System.out.println (punto + " dgitos antes del punto decimal.");
System.out.println ((cadena.length () - punto - 1) + " dgitos despus del punto decimal.");
}
}
Convertir un string en nmero
Para convertir un string en nmero decimal tenemos dos opciones:
Mediante la funcin valueOf ()
Mediante el mtodo parseXXXX()
Para pasar una cadena a nmero entero:
String cadena1="12";
int num1=Integer.valueOf(cadena1).intValue();
System.out.println(num1);
String cadena2="1234";
int num2=Integer.parseInt(cadena2);
System.out.println(num2);
Para pasar una cadena a nmero decimal del tipo float:
String cadena3="12.35 ";
float num3=Float.valueOf(cadena3).floatValue();
System.out.println(num3);
String cadena4="7.1";
float num4=Float.parseFloat(cadena4);
System.out.println(num4);
Para pasar una cadena a nmero decimal del tipo double:
String cadena5="12.35 ";
double num5=Double.valueOf(cadena5).doubleValue();
System.out.println(num5);
String cadena6="50.01";
double num6=Double.parseDouble(cadena6);
System.out.println(num6);
OPERADOR DE CONCATENACIN +
El operador + (concatenacin) sirve para unir dos o ms String. El resultado de aplicar este
operador es un nuevo String. Ejemplo:
String b = "Ordenador";
String c = " Porttil";

La operacin: b = b + c; crea un nuevo String (b + c) y le asigna su direccin a b:

Ejemplo: Programa que suma dos cadenas de caracteres.
public class P01{
public static void main(String[] args) {
String cadena1="Ordenador";
String cadena2="Portatil";

System.out.println("La primera cadena es: "+ cadena1);
System.out.println("La segunda cadena es: "+ cadena2);

cadena1=cadena1 + " " + cadena2;
System.out.println("La suma de las cadenas es: "+ cadena1);
}
}
INGRESO POR TECLADO DE UNA CADENA DE CARACTERES
Para ingresar una cadena de caracteres va teclado debemos emplear el mtodo next() de la
claseScanner:
String cadena;
System.out.print("Introduzca texto: ");
cadena = sc.next();
Cuando se emplea el mtodo next() la cadena ingresada no puede tener espacios en
blanco.
Ejemplo:
import java.util.Scanner;
public class P01 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
String cadena1;
String cadena2;
System.out.print("Introduzca texto de la primera cadena: ");
cadena1 = teclado.next();
System.out.print("Introduzca texto de la segunda cadena: ");
cadena2 = teclado.next();
System.out.println("La primera cadena es: "+ cadena1);
System.out.println("La segunda cadena es: "+ cadena2);
}
}
Ingreso de cadenas con espacios en blanco
Cuando queremos ingresar una cadena con caracteres que incluya a espacios en blanco, se
debe emplear el mtodo nextLine()
Una dificultad se presenta si llamamos al mtodo nextLine() y previamente hemos llamado a
alguno de estos mtodos nextInt(), nextDouble(), next().charAt(0), etc. Esto debido a que
luego de ejecutar el mtodo nextXXX() queda almacenado en el objeto de la clase Scanner el
caracter "Enter" y si llamamos inmediatamente al mtodo nextLine() este almacena dicho
valor de tecla y contina con el flujo del programa.
import java.util.Scanner;
public class P03 {
public static void main(String[] args) {
int edad;
String nombre;
Scanner teclado=new Scanner(System.in);
System.out.print("Ingrese su edad: ");
edad=teclado.nextInt();
System.out.print("Ingrese su nombre y apellido: ");
nombre=teclado.nextLine();
System.out.println(edad);
System.out.println(nombre);
}
}
Para solucionar este problema debemos ejecutar dos veces el mtodo nextLine(), la
primera retorna la tecla "Enter" y la segunda se queda esperando que ingresemos el dato
solicitado.
Tener en cuenta que esto es necesario solo si previamente se llam a alguno de los mtodos
nextInt(), nextDouble(), next().charAt(0), etc.
import java.util.Scanner;
public class S05 {
public static void main(String[] args) {
int edad;
String nombre;
Scanner teclado=new Scanner(System.in);
System.out.print("Ingrese su edad: ");
edad=teclado.nextInt();
System.out.print("Ingrese su nombre y apellido: ");
teclado.nextLine();
nombre=teclado.nextLine();
System.out.println(edad);
System.out.println(nombre);
}
}
Ejemplo: Realizar un programa que permita el ingreso por teclado de los siguientes
datos:
Edad
Nombre
Apellidos
El programa debe tener un mtodo denominado ingresaCadena para el ingreso del nombre
y apellido. La impresin en pantalla de las cadenas debe hacerse mediante el
mtodo imprimeCadena.
import java.util.Scanner;
public class P04 {
static Scanner teclado=new Scanner(System.in);
public static void main(String[] args) {
int edad;
String nombre, apellido;
System.out.print("Ingrese su edad: ");
edad=teclado.nextInt();
teclado.nextLine();
System.out.print("Ingrese su nombre: ");
nombre=ingresaCadena();
System.out.print("Ingrese su apellido: ");
apellido=ingresaCadena();
System.out.println(edad);
imprimeCadena(nombre);
imprimeCadena(apellido);
}

public static void imprimeCadena(String c1){
System.out.println("La cadena es:");
for (int i=0;i<c1.length();i++){
char letra = c1.charAt(i);
System.out.print(letra);
}
System.out.println();
}
public static String ingresaCadena(){
String c1=teclado.nextLine();
return c1;
}
}
Ejercicio: Realizar un programa en el cual se ingresa por teclado una cadena de
caracteres que representa un nmero de DNI y mediante un mtodo
denominado verificaDNI, verifique que dicho nmero sea vlido.
Ejercicio: Realizar un programa que permita el ingreso de un mensaje por teclado y
luego mediante un mtodo denominado imprimeUnaPalabraFilaCadena, imprima en
pantalla cada palabra ingresada lnea por lnea. El mensaje puede tener espacios en blanco
adicionales, tanto al inicio como entre palabras. El programa debe eliminar los espacios en
blanco innecesarios. Utilizar los mtodos existentes.
Ejercicio: Realizar un programa que tenga un mtodo
denominado validaCorreoHotmail, que valide el ingreso de una direccin de correo
electrnico. Utilizar los mtodos ya existentes. Considerar que una direccin de correo tiene
las siguientes caractersticas:
No tiene espacios en blanco
Tiene el caracter @
Los correos de hotmail terminan en: @hotmail.com
Ejercicio: Realizar un programa que:
Solicite el ingreso de un nmero entero por teclado.
Conviertalo a string y determine si es capica (no debe usar ningn mtodo de java)
(Problema tomado en la Cuarta Prctica Calificada del ciclo 2013-2)
Ejercicio: Realizar un programa que solicite el ingreso de un nmero hexadecimal y
calcule su correspondiente valor en decimal.
Ejercicio: Realizar un programa que:
Solicite el ingreso de un mensaje por teclado.
Solicite el ingreso del nmero de columnas (se debe validar que dicho nmero debe
ser mayor o igual a la longitud del mensaje ingresado).
Imprimir en pantalla el mensaje en forma justificada al nmero de columnas
ingresadas.
(Pregunta tomada en la Cuarta Prctica Calificada del ciclo 2013-2).
Ejercicio: Realizar un programa que mediante un mtodo
denominado vecesRepitePalabraCadena, cuente cuantas veces se repite una determinada
palabra en una cadena. El valor de la cuenta debe ser enviado por el mtodo al programa
principal























ARRAY DE CARACTERES
Un array de caracteres en Java se crea de forma similar a un array unidimensional de
cualquier otro tipo de datos. Ejemplos:
Array de 8 caracteres llamado cadena. Por efecto se inicializa con el carcter nulo.
char [] cadena = new char[8];
Array de 5 caracteres llamado vocales. Se asignan valores iniciales: a, e, i, o, u
char [] letras= {'a', 'b', 'c', 'd', 'e'};
A diferencia de los dems arrays, se puede mostrar el contenido completo de un array de
caracteres mediante una sola instruccin print o printf. Ejemplos:
System.out.println(cadena);
Mostrar 8 caracteres nulos (en blanco)
System.out.println(letras);
Mostrar: abcde
El atributo length de un array de caracteres contiene el tamao del array independientemente
de que sean caracteres nulos u otros caracteres. Ejemplos:
System.out.println(cadena.length);
System.out.println(letras.length);
Convertir String a Array
Se puede asignar un String a un array de caracteres mediante el mtodo toCharArray() de la
clase String. Ejemplo:
String cadena = "Computador";
char [] palabra = cadena.toCharArray();
Se crea un nuevo array denominado palabra con el contenido del String cadena y se asigna
la direccin de memoria a palabra.
Convertir Array a String
Se puede crear un String a partir de un array de caracteres. Ejemplo:
char [] letras= {'a', 'b', 'c', 'd', 'e'};
String cadena = new String(letras);
Se crea un nuevo String denominado cadena, con el contenido del array letras y se asigna
la direccin de memoria a cadena.

You might also like