Computación e Informática
HDSW – C-III
Matrices (cantidad F y C) – Constructor – Clase String Como hemos visto para definir y crear la matriz utilizamos la siguiente sintaxis: int[][] mat; Creación: mat=new int[3][4]; Como las matrices son objetos en Java disponemos por un lado del atributo length que almacena la cantidad de filas de la matriz: System.out.println("Cantidad System.out.println(" Cantidad de flas de la matriz:" + mat.lent!; También También podemos preguntarle a cada fila de la matriz la cantidad de elementos que almacena: System.out.println("Cantidad System.out.println("Cantidad de elementos de la primer fla:" + mat[#].lent!;
Problema 1: Crear una matriz de n m filas !cargar n y m por teclado" #mprimir la matriz completa y la $ltima fila% Programa:
import java.util.Scanner; java.util.Scanner; public class MatrizFC { private Scanner teclado; private int[][] mat;
public void cargar() { teclado=new Scanner(System.in); Scanner(Syste m.in); System.out.print("Cuantas System.out.p rint("Cuantas fila tiene la matriz:"); int filas=teclado.nextInt(); filas=teclad o.nextInt(); System.out.print("Cuantas System.out.p rint("Cuantas columnas tiene la matriz:"); int columnas=teclado.nextInt( columnas=tec lado.nextInt(); ); mat=new int[filas][columnas]; int[filas][co lumnas]; for(int f=0;f
public static void main(String[] ar) { MatrizFC ma=new MatrizFC(); ma.cargar(); ma.imprimir();
Ing. Neicer Campos Vásquez Vásquez
NCV!1"1HDSW
1
Computación e Informática
HDSW – C-III
ma.imprimirUltimaFila(); }
} &n este ejemplo cada vez que se ejecute el programa el tama'o de la matriz lo define el usuario( para ello ingresamos por teclado dos enteros y seguidamente procedemos a crear la matriz con dichos valores: System.out.print("Cuantas System.out.print("Cuantas fla tiene la matriz:"; int flas=te$lado.ne%t& flas=te$lado.ne%t&nt(; nt(; System.out.print("Cuantas System.out.print("Cuantas $olumnas tiene la matriz:"; int $olumnas=te$lado.n $olumnas=te$lado.ne%t&nt(; e%t&nt(; mat=new int[flas][$olumnas]; )hora las estructuras repetitivas las acotamos preguntando a la misma matriz la cantidad de filas y la cantidad de elementos de cada fila!mat%length almacena la cantidad de filas de la matriz y mat*f+%length cuando f vale cero accedemos a la cantidad de elementos de la fila cero y as, sucesivamente para cada valor de f": 'or(int '=#;'mat.lent!;'++ '=#;'mat.lent!;'++ ) 'or(int $=#;$mat['].len $=#;$mat['].lent!;$++ t!;$++ ) System.out.print("&nrese System.out.print("&nrese $omponente:"; mat['][$]=te$lado.ne%t&nt(; * * &l algoritmo de impresión es idéntico al visto anteriormente con la modificación de las condiciones de los for: puli$ ,oid imprimir( ) 'or(int '=#;'mat.lent!;'++ '=#;'mat.lent!;'++ ) 'or(int $=#;$mat['].len $=#;$mat['].lent!;$++ t!;$++ ) System.out.print(mat['][$]+" System.out.print(mat['][$]+" "; * System.out.println(; * * -ara imprimir la $ltima fila debemos disponer un valor fijo en el sub,ndice de la fila !en este caso no podemos disponer un n$mero fijo sino preguntarle a la misma matriz la cantidad de filas y restarle uno ya que las filas comienzan a numerarse a partir de cero: mat*mat%length./+*c+" También También la condición del for debemos acceder al atributo length de la $ltima fila mat*mat%length./+%length 'or(int $=#;$mat[mat.lent!-].lent!;$+ $=#;$mat[mat.lent!-].lent!;$++ + ) System.out.print(mat[mat.lent!-][$]+ System.out.print(mat[mat.lent!-][$]+" " "; *
Problema 2: Crear una matriz de n m filas !cargar n y m por teclado" #mprimir el mayor elemento y la fila y columna donde se almacena% Programa:
import java.util.Scanner; java.util.Scanner; public class MatrizFC { private Scanner teclado; private int[][] mat;
public void cargar() { teclado=new Scanner(System.in); Scanner(Syste m.in); System.out.print("Cuantas System.out.p rint("Cuantas fila tiene la matriz:"); int filas=teclado.nextInt(); filas=teclad o.nextInt(); System.out.print("Cuantas System.out.p rint("Cuantas columnas tiene la matriz:"); int columnas=teclado.nextInt( columnas=tec lado.nextInt(); ); mat=new int[filas][columnas]; int[filas][co lumnas]; for(int f=0;f
Ing. Neicer Campos Vásquez Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III #
} } public void imprimirMayor() { int mayor=mat[0][0]; int filamay=0; int columnamay=0; for(int f=0;f
mayor) { mayor=mat[f][c]; filamay=f; columnamay=c; } } } System.out.println("El elemento mayor es:"+mayor);
System.out.println("Se encuentra en la fila:"+filamay+ " y en la columna: "+columnamay);
} public static void main(String[] ar) { MatrizFC ma=new MatrizFC(); ma.cargar(); ma.imprimirMayor(); }
}
-ara obtener el mayor elemento de la matriz y la fila y columna donde se ubica debemos inicializar una variable mayor con el elemento de la fila cero y columna cero !esto lo hacemos suponiendo que en dicha posición se almacena el mayor": int mayor=mat[#][#]; int flamay=#; int $olumnamay=#; 0uego mediante dos for recorremos todos los elementos de la matriz y cada vez que encontramos un elemento mayor al actual procedemos a actualizar la variable mayor y la posición donde se almacena: 'or(int '=#;'mat.lent!;'++ ) 'or(int $=#;$mat['].lent!;$++ ) i' (mat['][$]/mayor ) mayor=mat['][$]; flamay='; $olumnamay=$; * * *
Problemas Resueltos /%
Crear una matriz de n m filas !cargar n y m por teclado" #ntercambiar la primer fila con la segundo% #mprimir luego la matriz%
import java.util.Scanner; public class MatrizFC { private Scanner teclado; private int[][] mat; public void cargar() { teclado=new Scanner(System.in); System.out.print("Cuantas fila tiene la matriz:"); int filas=teclado.nextInt(); System.out.print("Cuantas columnas tiene la matriz:"); int columnas=teclado.nextInt();
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III $
mat=new int[filas][columnas]; for(int f=0;f
} public void intercambiar() { for(int c=0;c
public void imprimir() { for(int f=0;f
public static void main(String[] ar) { MatrizFC ma=new MatrizFC(); ma.cargar(); ma.intercambiar(); ma.imprimir(); }
}
1%
Crear una matriz de n m filas !cargar n y m por teclado" #mprimir los cuatro valores que se encuentran en los vértices de la misma !mat*2+*2+ etc%"
import java.util.Scanner; public class MatrizFC { private Scanner teclado; private int[][] mat;
public void cargar() { teclado=new Scanner(System.in); System.out.print("Cuantas fila tiene la matriz:"); int filas=teclado.nextInt(); System.out.print("Cuantas columnas tiene la matriz:"); int columnas=teclado.nextInt(); mat=new int[filas][columnas]; for(int f=0;f
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III "
}
public void imprimirVertices() { System.out.println("V értice superior izquierdo:"); System.out.println(mat[0][0]); System.out.println("V értice superior derecho:"); System.out.println(mat[0][mat[0].length-1]); System.out.println("V értice inferior izquierdo:"); System.out.println(mat[mat.length-1][0]); System.out.println("V értice inferior derecho:"); System.out.println(mat[mat.length-1][mat[mat.length-1].length-1]);
}
public static void main(String[] ar) { MatrizFC ma=new MatrizFC(); ma.cargar(); ma.imprimirVertices(); }
}
Matrices y vectores paralelos 3ependiendo de la complejidad del problema podemos necesitar el empleo de vectores y matrices paralelos% -roblema /: 4e tiene la siguiente información:
5 6ombres de 7 empleados%
5 #ngresos en concepto de sueldo( cobrado por cada empleado( en los $ltimos 8 meses%
Confeccionar el programa para: a" 9ealizar la carga de la información mencionada%
b" enerar un vector que contenga el ingreso acumulado en sueldos en los $ltimos 8 meses para cada empleado%
c" ;ostrar por pantalla el total pagado en sueldos a todos los empleados en los $ltimos 8 meses
d"
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III %
-rograma: import java.util.Scanner; public class Matriz9 { private Scanner teclado; private String[] empleados; private int[][] sueldos; private int[] sueldostot;
public void cargar() { teclado=new Scanner(System.in); empleados=new String[4]; sueldos=new int[4][3]; for(int f=0;fmay) {
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III &
may=sueldostot[f]; nom=empleados[f]; }
} System.out.println("El empleado con mayor sueldo es "+ nom + " que tiene un sueldo de "+may); }
public static void main(String[] ar){ Matriz9 ma=new Matriz9(); ma.cargar(); ma.calcularSumaSueldos(); ma.imprimirTotalPagado(); ma.empleadoMayorSueldo(); }
} -ara resolver este problema lo primero que hacemos es definir una matriz donde se almacenar=n los sueldos mensuales de cada empleado( un vector de tipo 4tring donde almacenaremos los nombre de cada empleado y finalmente definimos un vector paralelo a la matriz donde almacenaremos la suma de cada fila de la matriz:
pri,ate Strin[] empleados; pri,ate int[][] sueldos; pri,ate int[] sueldostot; &n el método de cargar inicializamos el vector con los nombres de los empleados y la matriz paralela donde se almacenan los $ltimos tres sueldos !previo a cargar procedemos a crear el vector y la matriz":
empleados=new Strin[4]; sueldos=new int[4][3]; 'or(int '=#;'empleados.lent!;'++) System.out.print("&nrese el nomre del empleado:"; empleados[']=te$lado.ne%t(; 'or(int $=#;$sueldos['].lent!;$++ ) System.out.print("&nrese sueldo:"; sueldos['][$]=te$lado.ne%t&nt(; * *
&l método sumar sueldos crea el vector donde se almacenar= la suma de cada fila de la matriz% ;ediante dos for recorremos toda la matriz y sumamos cada fila:
sueldostot=new int[4]; 'or(int '=#;'sueldos.lent!;'++ ) int suma=#; 'or(int $=#;$sueldos['].lent!;$++ ) suma=suma+sueldos['][$]; * sueldostot[']=suma; *
&l método imprimirTotal-agado tiene por objetivo mostrar los dos vectores !el de nombre de los empleados y el que almacena la suma de cada fila de la matriz":
for'int f(!)f*sue+,ostot.+engt)f/ 0 Sstem.out.print+n'emp+ea,os2f34 - 4sue+,ostot2f3/) 5
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III
-or $ltimo para obtener el nombre del empleado con mayor sueldo acumulado debemos inicializar dos variables auxiliares con el primer elemento del vector de empleados y en otra auxiliar guardamos la primer componente del vector sueldostot:
int may=sueldostot[#]; Strin nom=empleados[#]; 'or(int '=#;'sueldostot.lent!;'++ ) i' (sueldostot[']/may ) may=sueldostot[']; nom=empleados[']; * * System.out.println("0l empleado $on mayor sueldo es "+ nom + " 1ue tiene un sueldo de "+may;
-roblema 9esuelto /%
4e desea saber la temperatura media trimestral de cuatro paises% -ara ello se tiene como dato las temperaturas medias mensuales de dichos paises% 4e debe ingresar el nombre del pa,s y seguidamente las tres temperaturas medias mensuales% 4eleccionar las estructuras de datos adecuadas para el almacenamiento de los datos en memoria% a . Cargar por teclado los nombres de los paises y las temperaturas medias mensuales% b . #mprimir los nombres de l as paises y las temperaturas medias mensuales de las mismas% c . Calcular la temperatura media trimestral de cada pa,s% c . #mprimr los nombres de las provincias y las temperaturas medias trimestrales% d . #mprimir el nombre de la provincia con la temperatura media trimestral mayor%
2. import java.util.Scanner; 3. public class Matriz10 { 4. private Scanner teclado; 5. private String[] paises; 6. private int[][] tempmen; 7. private int[] temptri; 8. 9. public void cargar() { 10. teclado=new Scanner(System.in); 11. paises=new String[4]; 12. tempmen=new int[4][3]; 13. for(int f=0;f
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
6
Computación e Informática 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.
HDSW – C-III 7
public void calcularTemperaturaTri() { temptri=new int[4]; for(int f=0;fmay) { may=temptri[f]; nom=paises[f]; } }
System.out.println("Pais con temperatura trimestral mayor es "+ nom + " que tiene una temperatura de "+may);
61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. }
} public static void main(String[] ar){ Matriz10 ma=new Matriz10(); ma.cargar(); ma.imprimirTempMensuales(); ma.calcularTemperaturaTri(); ma.imprimirTempTrimestrales(); ma.paisMayorTemperaturaTri(); }
Constructor de la clase &n Java podemos definir un método que se ejecute inicialmente y en f orma autom=tica% &ste método se lo llama constructor% &l constructor tiene las siguientes caracter,sticas: •
Tiene el mismo nombre de la clase%
•
&s el primer método que se ejecuta%
•
4e ejecuta en forma autom=tica%
•
6o puede retornar datos%
•
4e ejecuta una $nica vez%
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática •
HDSW – C-III 1!
>n constructor tiene por objetivo inicializar atributos%
Problema 1: 4e desea guardar los sueldos de ? operarios en un vector% 9ealizar la creación y carga del vector en el constructor% Programa:
import java.util.Scanner; public class Operarios { private Scanner teclado; private int[] sueldos;
public Operarios() { teclado=new Scanner(System.in); sueldos=new int[5]; for(int f=0;f<5;f++) { System.out.print("Ingrese valor de la componente:"); sueldos[f]=teclado.nextInt(); } } public void imprimir() { for(int f=0;f<5;f++) { System.out.println(sueldos[f]); } } public static void main(String[] ar) { Operarios op=new Operarios(); op.imprimir(); }
} Como podemos ver es el mismo problema que resolvimos cuando vimos vectores% 0a diferencia es que hemos sustituido el método cargar con el constructor: puli$ 2perarios( ) te$lado=new S$anner(System.in; sueldos=new int[]; 'or(int '=#;';'++ ) System.out.print("&nrese ,alor de la $omponente:"; sueldos[']=te$lado.ne%t&nt(; * * Como la clase se llama
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III
-lantear una clase llamada )lumno y definir como atributos su nombre y su edad% &n el constructor realizar la carga de datos% 3efinir otros dos métodos para imprimir los datos ingresados y un mensaje si es mayor o no de edad !edad AB/" Programa:
import java.util.Scanner; public class Alumno { private Scanner teclado; private String nombre; private int edad;
public Alumno() { teclado=new Scanner(System.in); System.out.print("Ingrese nombre:"); nombre=teclado.next(); System.out.print("Ingrese edad:"); edad=teclado.nextInt(); } public void imprimir() { System.out.println("Nombre:"+nombre); System.out.println("Edad:"+edad); } public void esMayorEdad() { if (edad>=18) { System.out.print(nombre+" es mayor de edad."); } else { System.out.print(nombre+" no es mayor de edad."); } }
public static void main(String[] ar) { Alumno alumno1=new Alumno(); alumno1.imprimir(); alumno1.esMayorEdad(); }
} 3eclaramos la clase -ersona( sus tres atributos y definimos el constructor con el mismo nombre de la clase: puli$ $lass lumno ) pri,ate S$anner te$lado; pri,ate Strin nomre; pri,ate int edad;
puli$ lumno( ) te$lado=new S$anner(System.in; System.out.print("&nrese nomre:"; nomre=te$lado.ne%t(; System.out.print("&nrese edad:"; edad=te$lado.ne%t&nt(; * &n la main el constructor se llama en forma autom=tica cuando creamos un objeto de la clase )lumno: puli$ stati$ ,oid main(Strin[] ar ) lumno alumno=new lumno(; 0os otros dos métodos deben llamarse por su nombre y en el orden que necesitemos: alumno.imprimir(; alumno.es5ayor0dad(; Problemas propuestos
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
11
Computación e Informática /%
HDSW – C-III
Confeccionar una clase que represente un empleado% 3efinir como atributos su nombre y su sueldo% &n el constructor cargar los atributos y luego en otro método imprimir sus datos y por $ltimo uno que imprima un mensaje si debe pagar impuestos !si el sueldo supera a 8222"%
2. import java.util.Scanner; 3. public class EmpleadoFabrica { 4. private Scanner teclado; 5. String nombre; 6. float sueldo; 7. 8. public EmpleadoFabrica() { 9. teclado=new Scanner(System.in); 10. System.out.print("Ingrese el nombre del empleado:"); 11. nombre=teclado.next(); 12. System.out.print("Ingrese su sueldo:"); 13. sueldo=teclado.nextFloat(); 14. } 15. 16. public void pagaImpuestos() { 17. if (sueldo>3000) { 18. System.out.print("Debe abonar impuestos"); 19. } else { 20. System.out.print("No paga impuestos"); 21. } 22. } 23. 24. public static void main(String[] ar) { 25. EmpleadoFabrica empleado1; 26. empleado1=new EmpleadoFabrica(); 27. empleado1.pagaImpuestos(); 28. } 29. }
82% #mplementar la clase operaciones% 4e deben cargar dos valores enteros en el constructor( calcular su suma( resta( multiplicación y división( cada una en un método( imprimir dichos resultados%
import java.util.Scanner; public class OperacionesCalculo { private Scanner teclado; int valor1,valor2;
public OperacionesCalculo() { teclado=new Scanner(System.in); System.out.print("Ingrese primer valor:"); valor1=teclado.nextInt(); System.out.print("Ingrese segundo valor:"); valor2=teclado.nextInt(); } public void sumar() {
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
1
Computación e Informática
HDSW – C-III 1#
int suma; suma=valor1+valor2; System.out.println("La suma es:"+suma);
}
public void restar() { int resta; resta=valor1-valor2; System.out.println("La resta es:"+resta); }
public void multiplicar() { int multiplicacion; multiplicacion=valor1*valor2; System.out.println("La multiplicaci ón es:"+multiplicacion); }
public void dividir() { int division; division=valor1/valor2; System.out.println("La divisi ón es:"+division); } public static void main(String[] ar) { OperacionesCalculo opera= new OperacionesCalculo(); opera.sumar(); opera.restar(); opera.multiplicar(); opera.dividir(); }
}
Clase String 0a clase 4tring est= orientada a manejar cadenas de caracteres% Dasta este momento hemos utilizado algunos métodos de la clase 4tring !equals( compareTo" )hora veremos otro conjunto de métodos de uso com$n de la clase 4tring: ;étodos
oolean e1uals(Strin s •
Como vimos el método equals retorna true si el contenido de caracteres del par=metro s/ es exactamente igual a la cadena de caracteres del objeto que llama al método equals%
oolean e1uals&noreCase(Strin s •
&l funcionamiento es casi exactamente igual que el método equals con la diferencia que no tiene en cuenta may$sculas y min$sculas !si comparamos E)naE y EanaE luego el método equals#gnoreCase retorna true"
int $ompare6o(Strin s
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática •
HDSW – C-III
&ste método retorna un 2 si el contenido de s/ es exactamente igual al 4tring contenido por el objeto que llama al método compareTo% 9etorna un valor A2 si el contenido del 4tring que llama al método compareTo es mayor alfabéticamente al par=metro s/%
$!ar $!art(int pos •
9etorna un caracter del 4tring( llega al método la posición del caracter a extraer%
int lent!( •
9etorna la cantidad de caracteres almacenados en el 4tring%
Strin sustrin(int pos7int pos8 •
9etorna un substring a partir de la posición indicada en el par=metro pos/ hasta la posición pos1 sin incluir dicha posición%
int inde%2'(Strin s •
9etorna ./ si el 4tring que le pasamos como par=metro no est= contenida en la cadena del objeto que llama al método% &n caso que se encuentre contenido el 4tring s/ retorna la posición donde comienza a repetirse%
Strin to9pperCase( •
9etorna un 4tring con el contenido convertido todo a may$sculas%
Strin toowerCase( •
9etorna un 4tring con el contenido convertido todo a min$sculas%
-roblema /: Confeccionar una clase que solicite el i ngreso de dos 4tring y luego emplee los métodos m=s comunes de la clase 4tring% -rograma:
import java.util.Scanner; public class Cadena1 { public static void main(String[] ar) { Scanner teclado=new Scanner(System.in); String cad1; String cad2; System.out.print("Ingrese la primer cadena:"); cad1=teclado.nextLine(); System.out.print("Ingrese la segunda cadena:"); cad2=teclado.nextLine(); if (cad1.equals(cad2)==true) { System.out.println(cad1+" es exactamente igual a "+cad2); } else { System.out.println(cad1+" no es exactamente igual a "+cad2); } if (cad1.equalsIgnoreCase(cad2)==true) { System.out.println(cad1+" es igual a "+cad2+" sin tener en cuenta mayúsculas/minúsculas"); } else {
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
1$
Computación e Informática
HDSW – C-III
System.out.println(cad1+" no es igual a "+cad2+" sin tener en cuenta mayúsculas/minúsculas"); } if (cad1.compareTo(cad2)==0) { System.out.println(cad1+" es exactamente igual a "+cad2); } else { if (cad1.compareTo(cad2)>0) { System.out.println(cad1+ " es mayor alfab éticamente que "+cad2); } else { System.out.println(cad2+ " es mayor alfab éticamente que "+cad1); } } char carac1=cad1.charAt(0); System.out.println("El primer caracter de "+cad1+" es "+carac1); int largo=cad1.length(); System.out.println("El largo del String "+cad1+" es "+largo); String cad3=cad1.substring(0,3); System.out.println("Los primeros tres caracteres de "+cad1+" son "+cad3); int posi=cad1.indexOf(cad2); if (posi==-1) { System.out.println(cad2+" no est á contenido en "+cad1); } else { System.out.println(cad2+" est á contenido en "+cad1+" a partir de la posición "+posi); } System.out.println(cad1+ " convertido a may úsculas es "+cad1.toUpperCase()); System.out.println(cad1+ " convertido a min úsculas es "+cad1.toLowerCase());
} } -ara cargar los dos 4tring utilizamos en este caso el método next0ine para permitir ingresar espacios en blanco:
System.out.print("&nrese la primer $adena:"; $ad=te$lado.ne%tine(; System.out.print("&nrese la seunda $adena:"; $ad8=te$lado.ne%tine(;
-roblemas 9esueltos /%
9ealizar una clase( que permita cargar una dirección de mail en el constructor( luego en otro método mostrar un mensaje si contiene el caracter EFE%
import java.util.Scanner; public class Cadena2 { private Scanner teclado; private String mail; public Cadena2() { teclado=new Scanner(System.in); System.out.print("Ingrese un mail:"); mail=teclado.nextLine(); } public void verificarArroba() { boolean existe=false; for(int f=0;f
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
1"
Computación e Informática
HDSW – C-III 1%
if (mail.charAt(f)=='@') { existe=true; }
} if (existe==true) { System.out.println(mail+" contiene el caracter @"); } else { System.out.println(mail+" no contiene el caracter @"); } }
public static void main(String[] ar) { Cadena2 cad=new Cadena2(); cad.verificarArroba(); }
} /%
Cargar un 4tring por teclado e implementar los siguientes métodos: a" #mprimir la primera mitad de los caracteres de la cadena% b" #mprimir el $ltimo caracter% c" #mprimirlo en forma inversa% d" #mprimir cada caracter del 4tring separado con un guión% e" #mprimir la cantidad de vocales almacenadas% f" #mplementar un método que verifique si la cadena se lee igual de izquierda a derecha tanto como de derecha a izquierda !ej% neuquen se lee igual en las dos direcciones"
import java.util.Scanner; public class Cadena3 { private Scanner teclado; private String cad; public Cadena3() { teclado=new Scanner(System.in); System.out.print("Ingrese una cadena:"); cad=teclado.nextLine(); }
public void primerMitad() { String parte; parte=cad.substring(0,cad.length()/2); System.out.println("Primer mitad de caraceres:"+parte); } public void ultimoCaracter() { char ultimo=cad.charAt(cad.length()-1); System.out.println("Ultimo caracter:"+ultimo); }
public void formaInversa() { System.out.println("Impresi ón en forma inversa:"); for(int f=cad.length()-1;f>=0;f--) { System.out.print(cad.charAt(f)); } System.out.println(); } public void conGuion() { System.out.println("Separado por guiones:"); for(int f=0;f
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III 1&
} public void cantidadVocales() { int cant=0; for(int f=0;f
|| || || || {
public void esCapicua() { int cant=0; for(int f=0;f
public static void main(String[] ar) { Cadena3 cad=new Cadena3(); cad.primerMitad(); cad.ultimoCaracter(); cad.formaInversa(); cad.conGuion(); cad.cantidadVocales(); cad.esCapicua(); }
} 1%
3esarrollar un programa que solicite la carga de una clave% 0a clase debe tener dos métodos uno para la carga y otro que muestre si la clave es la correcta !la clave a comparar es G/18abcG"
import java.util.Scanner; public class Cadena4 { private Scanner teclado; private String clave;
public Cadena4() { teclado=new Scanner(System.in); System.out.print("Ingrese clave:"); clave=teclado.nextLine(); } public void verificarClave() { if (clave.equals("123abc")==true) {
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III
System.out.println("Se ingres ó la clave en forma correcta"); } else { System.out.println("No se ingres ó la clave en forma correcta"); } }
public static void main(String[] ar) { Cadena4 cad=new Cadena4(); cad.verificarClave(); }
} 8%
Confeccionar un programa que permita cargar los nombres de ? personas y sus mail( luego implementar los siguientes métodos: a" ;ostrar por pantalla los datos% b" Consulta del mail ingresando su nombre% c" ;ostrar los mail que no tienen el car=cter F%
import java.util.Scanner; public class Cadena5 { private Scanner teclado; private String[] nombres; private String[] mail;
public Cadena5() { teclado=new Scanner(System.in); nombres=new String[5]; mail=new String[5]; for(int f=0;f
public void consultaMail() { String aux; System.out.print("Ingrese el nombre de la persona:"); aux=teclado.nextLine(); boolean existe=false; for(int f=0;f
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
16
Computación e Informática
HDSW – C-III 17
public void sinArroba() { for(int f=0;f
public static void main(String[] ar) { Cadena5 cad=new Cadena5(); cad.listar(); cad.consultaMail(); cad.sinArroba(); }
}
7%
Codifique un programa que permita cargar una oración por teclado( luego mostrar cada palabra ingresada en una l,nea distinta%
8or e9emp+o si cargo: ;a mae aparecer: ;a ma
public Cadena6() { teclado=new Scanner(System.in); System.out.print("Ingrese oraci ón:"); oracion=teclado.nextLine(); } public void imprimir() { for(int f=0;f
Ing. Neicer Campos Vásquez
NCV!1"1HDSW
Computación e Informática
HDSW – C-III !
public static void main(String[] ar) { Cadena6 cad=new Cadena6(); cad.imprimir(); }
}
Ing. Neicer Campos Vásquez
NCV!1"1HDSW