manual algoritmos
TRANSCRIPT
-
5/28/2018 Manual Algoritmos
1/165
1
PROGRAMACION ORIENTADA A OBJETOS
JAVA
-
5/28/2018 Manual Algoritmos
2/165
2
PROGRAMACIONORIENTADA A OBJETOS EN JAVA
EJERCICIOS RESUELTOS: PROGRAMACIN ORIENTADA A OBJETOS (POO) EN JAVA.
1. EJERCICIOS DE REPASO DE ALGORITMOS I..3
2. EJERCICIOS DE PROGRAMACION ORIENTADA A OBJETOS ....9
3. EJERCICIOS RESUELTOS CON LOS METODOS GET Y SETEN LA POO EN JAVA....33
4. EJERCICIOS RESUELTOS DE LA CLASE CON METODOS STATIC....44
5. EJERCICIOS RESUELTOS CON LOS METODOS Get Set Y toSTring.....47
6. EJERCICIOS RESUELTOS DE CADENA DE CARACTERES........49
7.EJERCICIOS RESUELTOS CON VECTORES....52
8. EJERCICIOS RESUELTOS CON MATRICES 68
9. EJERCICIOS RESUELTOS CON LOS METODOS DE ORDENAMIENTO DE UN VECTOR86
10. EJERCICIOS RESUELTOS CON HERENCIA......97
11. EJERCICIOS RESUELTOS CON INTERFACES....102
12. COLECCIONES EN JAVA..........108
13.COLECCIONES CON ArrayList.108
14. COLECCIONES CON HahMap ..110
15. EJERCICIOS RESUELTOS DE COLECCIONES ArrayList.111
16. FORMAS DE USAR COLECCIONES ArrayList.....118
15. EJERCICIOS RESUELTOS DE COLECCIONES HashMap.125
16. FORMAS DE USAR COLECCIONES HashMap....125
17. VECTORES CON COLECCIONES......131
18. LISTAS ENLAZADAS CON COLECCIONES........133
17. EXAMENES RESUELTOS DE LA PROGRAMACION ORIENTADA A OBJETOS..Ing Fidel..............136
18. PRIMER EXAMEN PARCIAL DE ALGORITMOS Y ESTRUTURA DE DATOS IIng Roger Sanchez.143
18. SOLUCION EXAMEN PARCIAL DE ALGORITMOS Y ESTRUTURA DE DATOS I..Ing Roger Sanchez-144
19. FIN DE ESTE MANUAL ORIGINAL..........166
-
5/28/2018 Manual Algoritmos
3/165
3
EJERCICIOS DE REPASO DE ALGORITMOS I
Programa 1disear un algoritmo que me permita leer una fecha (da, mes, ao),as como un numero de
das a aadir a esta fecha, la funcin calcula la nueva fecha
y muestra(considerar los meses de 30 das)
Solucin
importjava.util.Scanner;publicclassexamen1 {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);intdia,mes,anyo,dias;System.out.println("Dia:");dia=leer.nextInt();System.out.println("Mes:");mes=leer.nextInt();System.out.println("ao:");anyo=leer.nextInt();System.out.println("cuantos dias desea ingresar:");dias=leer.nextInt();dia+=dias;//dia=dia+dias;if(dia>30){
mes=mes+dia/30;dia%=30;//dia=dia%30;
}if(mes>12){
anyo=anyo+mes/12;mes%=12;//mes=mes%12;
}System.out.println("la nueva fecha es:"+dia+"/"+mes+"/"+anyo);
}}
Programa 2Se dispone una lista de temperaturas de 5 ciudades. se desea calcular las temperaturas
mayor y menor y a que ciudad pertenecen. Adems se pide calcular de las temperaturas.
Solucin
importjava.util.Scanner;
publicclassexamen2 {publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);int temp,Tmayor,Tmenor,Tprom,suma=0;String ciudad,Cmayor,Cmenor;System.out.println("ciudad 1:");ciudad=leer.next();System.out.println("temperatura 1:");temp=leer.nextInt();suma+=temp;Tmayor=temp;Tmenor=temp;Cmayor=ciudad;
Cmenor=ciudad;System.out.println("ciudad 2:");ciudad=leer.next();
-
5/28/2018 Manual Algoritmos
4/165
4
suma+=temp;System.out.println("temperatura 2:");temp=leer.nextInt();if(temp>Tmayor){
Tmayor=temp;Cmayor=ciudad;
}elseif(tempTmayor){
Tmayor=temp;Cmayor=ciudad;
}elseif(tempTmayor){
Tmayor=temp;Cmayor=ciudad;
}elseif(tempTmayor){
Tmayor=temp;
Cmayor=ciudad;}elseif(temp
-
5/28/2018 Manual Algoritmos
5/165
5
Programa 3Disear un algoritmo que permita leer un numero de 4 cifras (validar el numero ingresado)
hallar la suma de los dgitos de las posiciones par y la suma de los dgitos de las posiciones
impares, y mostrar un mensaje si los resultados son iguales.
Ejemplo: 9357Suma de posiciones pares=10
Suma de posiciones impares=14
No son iguales
Nota 9357 u=7, d=5, c=3, um=9;
Solucin
importjava.util.Scanner;publicclassexamen4 {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);intnumero,u,d,c,um,spp,spi;System.out.println("Numero:");numero=leer.nextInt();if(numero=1000){
u=numero%10;numero=numero/10;d=numero%10;numero=numero/10;c=numero%10;numero=numero/10;um=numero%10;spp=u+c;spi=d+um;System.out.println("suma de posiciones pares :"+spp);
System.out.println("suma de posiciones impares :"+spi);if(spp==spi)
System.out.println("son iguales");else
System.out.println("son diferentes");}else
System.out.println("el numero debe estar entre 1000 y 9999");}
}
Programa 4Ingresar un nmero por teclado, contar sus dgitos del nmero, hallar suma de dgitos pare
e impares
Solucin.
importjava.util.Scanner;publicclassNumero {publicstaticvoidmain(String[] args) {
intn,c=0,sp=0,si=0;Scanner sc=newScanner(System.in);System.out.print("ingresar un numero:");n=sc.nextInt();
while(n>0){
c++;intr=n%10;if(r%2==0){
-
5/28/2018 Manual Algoritmos
6/165
6
sp=sp+c;}else{sp=si+c;n=n/10;}}
System.out.println("digitos delnumero"+c);System.out.println("suma d digitos de pares"+sp);System.out.println("suma d digitos de impares"+si);}
}
Programa 5Ingresar un nmero por teclado y decir si el nmero es primo o el nmero ingresado no es
primo.
Solucin.importjava.util.Scanner;
publicclassNumeroPrimo {publicstaticvoidmain(String[] args) {
intn,i=2,c=0;Scanner sc=newScanner(System.in);System.out.print("ingresar un numero :");n=sc.nextInt();
while(i>0){if(n%2==0)
c++;i--;
}if(c==0)
System.out.println("numero es primo");
elseSystem.out.println("el numero no es primo");
}}
Programa 6Implementar un programa en java, ingresar un numero por teclado y decir si el un nmero es
perfecto o no es prefecto
Solucin
importjava.util.Scanner;publicclassperfecto {
publicstaticvoidmain(String[] args) {intn,i,s;Scanner br=newScanner(System.in);do{
System.out.print("ingresar un numero :");n=br.nextInt();i=1;s=0;
while(i
-
5/28/2018 Manual Algoritmos
7/165
7
if(s==n){System.out.print("el numero es perfecto");i=1;
while(i
-
5/28/2018 Manual Algoritmos
8/165
8
Programa 9Ingresar un nmero en base 5 y convertir a la base decimal.
Solucin
importjava.util.Scanner;publicclasscambioBase {
publicstaticvoidmain(String[] args) {intn,b;Scanner br=newScanner(System.in);System.out.print("ingresar base:");b=br.nextInt();System.out.print("ingresar numero:");n=br.nextInt();System.out.print(n+" es base"+ b+" a base 10 es:"+base10(n,b));
}
publicstatic
int
base10(int
n,int
b) {intnuevo=0,r,exp=0,temp=n;do{
r=temp%10;nuevo+=r*(Math.pow(b,exp++));temp=temp/10;
}while(temp>0);return(int) nuevo;
}}
Programa 10Mostrar la cantidad de nmero perfectos, entre 5 y 1000. Implementar el programa en java
con funciones.
Solucin
importjava.util.Scanner;publicclassNumero {
publicstaticvoidmain(String[] args) {intn,ls,li;Scanner br=newScanner(System.in);System.out.print("ingresar un limite inferior:");li=br.nextInt();System.out.print("ingresar un limite superior:");ls=br.nextInt();
perfecto(li,ls);}
privatestaticvoidperfecto(intli, intls) {intc=0;for(inti=li;i
-
5/28/2018 Manual Algoritmos
9/165
9
System.out.print("cantidad numero perfecto son :"+c);}
}
Programa 11
Desarrollar un programa en java decir si un nmero es capica o no es capica, implementarcon funciones.
solucion
importjava.util.Scanner;publicclassCapicua {
publicstaticvoidmain(String[] args) {intn;Scanner br=newScanner(System.in);System.out.print("ingresar un numero:");n=br.nextInt();
if(esCapicua(n))System.out.print("es capicua:");else
System.out.print(" no es capicua:") ;}
publicstaticbooleanesCapicua(intn) {inttemp=n,nuevo=0;
while(temp>0){intr=temp%10;nuevo=nuevo*10+r;temp=temp/10;
}
if(nuevo==n)returntrue;else
returnfalse;}
}
-
5/28/2018 Manual Algoritmos
10/165
10
EJERCICIOS DE PROGRAMACION ORIENTADA A OBJETOSPrograma 12Implementar una clase calculadora con los atributos (numero1, numero2) y crear sus
mtodos para realizar una aplicacin clase calculadora todo ser implementado en el
siguiente men.Men
1. sumar2. restar3. multiplicar4. dividirElegir una opcin:
Solucin
publicclasscalculadora {privatefloatn1;privatefloatn2;publiccalculadora(floatn1, floatn2) {
super();this.n1= n1;this.n2= n2;
}publicintsumarNumero(){
intsuma = (int) (n1+n2);returnsuma;
}publicintrestarNumero(){
intresta;resta=(int) (n1-n2);returnresta;
}publicintmultiplicarNumero(){
intm;m=(int) (n1*n2);returnm;
}publicintdividirNumero(){
intd;d=(int) (n1/n2);returnd;
}}
Aplicacin del ejercicio
importjava.util.*;publicclassAplicacionCalculadora {
publicstaticvoidmain(String[] args) {Scanner leer =newScanner(System.in);floatn1,n2;intopc;System.out.print("ingresar el primer numero :");n1=leer.nextFloat();System.out.print("ingresar el segundo numero :");n2=leer.nextFloat();calculadora nuevo=newcalculadora(n1,n2);do{
-
5/28/2018 Manual Algoritmos
11/165
11
opc=menu();switch(opc){case1:
System.out.print("\tsuma:"+nuevo.sumarNumero());break;case2:
System.out.print("\tresta:"+nuevo.restarNumero());break;
case3: System.out.print("\tmultiplicacion:"+nuevo.multiplicarNumero());
break;case4:
System.out.print("\tdivision:"+nuevo.dividirNumero());break;
}}while(opc!=5);
}privatestaticintmenu() {
Scanner leer =newScanner(System.in);intop;System.out.println("");System.out.println("\tmenu");System.out.println("\t1.sumar");System.out.println("\t2.restar");System.out.println("\t3.multiplicar");System.out.println("\t4.dividir");System.out.print("\telegir una opccion :");op=leer.nextInt();returnop;
}}
Programa 13Implementar una clase capica con un atributos (numero) y crear sus mtodos para realizaruna aplicacin clase capica.
solucion
publicclasscapicua {intnumero;
publiccapicua(intnumero) {super();
this.numero= numero;}
publicvoidescapicua(inttmp) {//METODO DEL NUMERO CAPICUAinttemp=numero;intnuevo=0;
while(temp>0){intr=temp%10;nuevo=nuevo*10+r;temp=temp/10;
}if(nuevo==numero)
System.out.println("numero es capicua");else
System.out.println(" numero no es capicua");}
}
-
5/28/2018 Manual Algoritmos
12/165
12
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionCapicua {
publicstaticvoidmain(String[] args) {intnumero;Scanner leer=newScanner(System.in);System.out.println("ingresar un numero:");numero=leer.nextInt();capicua t=newcapicua(numero); //instanciando el contructor a
un objeto tSystem.out.println("mostrar:");t.escapicua(numero); // MOSTRAR NUMERO CAPICUA
}}
Programa 14Implementar un programa en java crear una clase nmero perfecto con los atributos (lmiteinferior, lmite superior) y crear sus mtodos para realizar una aplicacin clase numeroperfecto. y hallar la cantidad de nmeros perfectos entre 1 y 1000.
Solucin
publicclassnumeroPerfecto {privateintli;
privateintls;publicnumeroPerfecto(intli, intls) {
super();this.li= li;this.ls= ls;
}publicvoidHallarNumeroPerfecto(){//METODO PARA HALLAR UN PERFECTO
ENTRE LOS li y lsintc=0;for(inti=li;i
-
5/28/2018 Manual Algoritmos
13/165
13
Aplicacin del ejercicio
importjava.util.Scanner;publicclassAplicacionNumeroPerfecto {
publicstaticvoidmain(String[] args) {
intls,li;Scanner br=newScanner(System.in);System.out.print("ingresar un limite inferior:");li=br.nextInt();System.out.print("ingresar un limite superior:");ls=br.nextInt();numeroPerfecto nuevo=newnumeroPerfecto(li,ls);System.out.println("cantidad numero perfectos entre "+li+" y
"+ls+" son");nuevo.HallarNumeroPerfecto();
}}
Programa 15
Implementar un programa en java crear una clase valor absoluto con un atributo (numero)y crear sus mtodos para realizar una aplicacin clase numero perfecto todo implementar enel siguiente men.
MENULeer un nmero2. valor absoluto del nmero3. salir
Elegir una opcin:
Solucin
publicclassvalorAbsoluto {privateintnumero;//CONTRUCTOR DEL VALOR ABSOLUTO
publicvalorAbsoluto(intnumero) {super();this.numero= numero;
}
//METODOS DEL VALOR ABSOLUTOpublicinthallarValorAbsoluto(){
intV;if(numero>0)
V=numero;else
V=(numero*-1);returnV;
}}
-
5/28/2018 Manual Algoritmos
14/165
14
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionValorAbsoluto {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);
intnumero;intopcion;valorAbsoluto nuevo=null;do{
opcion=menu();switch(opcion){case1:
System.out.print("ingrese numero:");numero=leer.nextInt();nuevo=newvalorAbsoluto(numero);
break;case2:
System.out.print("su valor absoluto es:
"+nuevo.hallarValorAbsoluto());break;}
}while(opcion!=4);}
publicstaticintmenu(){Scanner leer=newScanner(System.in);intop;do{
System.out.println("\nMENU");System.out.println("1.leer un numero :");System.out.println("2.valor absoluto del numero");System.out.println("3.salir");
System.out.println("elegir una opccion:");op=leer.nextInt();}while(op3);returnop;
}}
Programa 16Implementar un programa en java crear una clase llamada con un atributo (minuto) y crear
sus mtodos de la clase llamada ,luego realizar una aplicacin clase llamada, todo serimplementado en el siguiente men.
MENU1. Leer minutos a consumir.2. costo de una llamada3. salirElegir una opcin:
Solucin
publicclassllamada {privatedoubleM;
publicllamada(doublem) {
M= m;}
-
5/28/2018 Manual Algoritmos
15/165
15
publicdoubleMinutosadicionales(){doubleMinadi;if(M>=5)
Minadi=M-5;else
Minadi=0;returnMinadi;
}publicdoublecosto(){
doubleC;if(M>2)
C=(2+Minutosadicionales());else
C=(M*2);returnC;
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassaplicacionLLamada {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);doublem = 0;intopcion;llamada nuevo=newllamada(m);do{
opcion=(int)menu();switch(opcion){case1:
System.out.print("ingrese minutos consumidos: ");m=leer.nextDouble();nuevo=newllamada(m);
break;case2:
System.out.print("el costo de la llamada es:S/"+nuevo.costo()+" Nuevos soles");
break;}}while(opcion!=3);
}publicstaticdoublemenu(){
Scanner leer=newScanner(System.in);double
op;do{System.out.println("\n____MENU_____");System.out.println("1.leer minutos a consumir
llamada");System.out.println("2.costo de una llamada");System.out.println("3.SALIR");System.out.println("elegir una opccion:");op=leer.nextInt();
}while(op3);returnop;
}}
-
5/28/2018 Manual Algoritmos
16/165
16
Programa 17Implementar un programa en java, para desarrollarlo crear una clase triangulo con los
atributo (lado1, lado2, lado3) y crear sus mtodos de la clase triangulo luego realizar unaaplicacin clase llamada y realizar el siguiente men.
MENU1. Leer un tringulo.2. hallar el permetro del triangulo3. hallar el rea del tringulo.4. salir.Elegir una opcin:
Solucin
publicclasstriangulo {privatedoublelado1;
privatedoublelado2;privatedoublelado3;publictriangulo(){//contructor nativo
lado1=1;lado2=1;lado3=1;
}publictriangulo(doublelado1, doublelado2, doublelado3) {
super();this.lado1= lado1;this.lado2= lado2;this.lado3= lado3;
}
publicdoublegetLado1() {returnlado1;
}publicvoidsetLado1(doublelado1) {
this.lado1= lado1;}
publicdoublegetLado2() {returnlado2;
}publicvoidsetLado2(doublelado2) {
this.lado2= lado2;}
publicdoublegetLado3() {
returnlado3;}
publicvoidsetLado3(doublelado3) {this.lado3= lado3;
}publicdoubleHallarPerimetro() {
doubleper=lado1+lado2+lado3;returnper;
}publicdoublehallarArea(){
doublearea,sp;sp=(lado1+lado2+lado3)/2;area =(double) Math.sqrt(sp*(sp-lado1)*(sp-lado2)*(sp-lado3));
returnarea;}
}
-
5/28/2018 Manual Algoritmos
17/165
17
Aplicacin del ejercicioimportjava.util.*;
publicclassAplicacionTriangulo {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);doublelado1,lado2,lado3;triangulo nuevo=null;int opc;do{
opc=menu();switch(opc) {case1:System.out.println("\tleer datos del triangulo:");System.out.print("\tIngresar lado 1:");lado1=leer.nextDouble();System.out.print("\tIngresar lado 2:");lado2=leer.nextDouble();System.out.print("\tIngresar lado 3:");
lado3=leer.nextDouble();nuevo=newtriangulo(lado1,lado2,lado3);break;case2:System.out.println("\tperimetro triangulo:
"+nuevo.HallarPerimetro());break;case3:System.out.println("\tArea del triangulo:
"+nuevo.hallarArea());break;}
}while(opc!=4);}
privatestaticintmenu() {
Scanner leer=newScanner(System.in);intop;System.out.println("\tmenu");System.out.println("\t1.leer un triangulo ");System.out.println("\t2.hallar perimetro triangulo");System.out.println("\t3.hallar el area triangulo");System.out.println("\t4.salir");System.out.print("\n\telegir una opccion:");op=leer.nextInt();returnop;
}}
Programa 18Desarrollar el siguiente programa en java, crear una clase triangulo rectnguloCon los siguientes atributo (ladoAB, ladoBC) crear los mtodos para calcular la hipotenusadel tringulo rectngulo conociendo las longitudes de sus catetos yHallar el permetro del tringulo rectngulo. Desarrollar el siguiente men en una aplicacinPara probar los mtodos de un tringulo rectngulo.
Men1. leer lados triangulo rectngulo2. hallar hipotenusa triangulo rectngulo3. hallar el permetro del tringulo rectngulo
4. salir.Elegir una opcin:
-
5/28/2018 Manual Algoritmos
18/165
18
Solucinpublicclasstrectangulo {
privatedoubleladoAB;privatedoubleladoBC;
publictrectangulo(doubleladoAB, doubleladoBC) {this.ladoAB= ladoAB;this.ladoBC= ladoBC;
}publicinthallarHipotenusa(){// HALLAR HIPOTENUSA DEL RECTANGULO
inthipotenusa;hipotenusa=(int)Math.sqrt(ladoAB*ladoBC+ladoBC*ladoBC);returnhipotenusa;
}publicintperimetroRectangulo(){
intp;p=(int) (ladoAB+ladoBC+hallarHipotenusa());
returnp;}}
Aplicacin del ejercicio
importjava.util.*;publicclassAplicaciontrectangulo {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner (System.in);doubleladoAB ,ladoBC;intopc;trectangulo nuevo=null;do{
opc=menu();switch(opc){case1:
System.out.print("ingrese el ladoBC :");;ladoAB=leer.nextInt();System.out.print("ingrese el ladoAC :");ladoBC=leer.nextInt();nuevo=newtrectangulo(ladoAB,ladoBC);
break;case2:
System.out.print("La Hipotenusa de triangulorectangulo : "+nuevo.hallarHipotenusa());
break;case3:
System.out.print("El Perimetro del triangulorectangulo: "+nuevo.perimetroRectangulo());
break;}
}while(opc!=4);}
publicstaticintmenu(){Scanner leer=newScanner (System.in);intopcion ;do{
System.out.println("\nMENU");
System.out.println("1.leer lados triangulo rectangulo ");System.out.println("2.hallar hipotenusa triangulo
rectangulo");
-
5/28/2018 Manual Algoritmos
19/165
19
System.out.println("3.hallar el perimetro del triangulorectangulo ");
System.out.println("4.SALIR");System.out.println("elegir una opccion :");opcion=leer.nextInt();
}while(opcion4);returnopcion;
}}
Programa 19Implementar un programa en java, para crear una clase circulo con un atributo (radio) ycrear los mtodos para hallar el rea circulo y el permetro circulo, luegoRealizar una aplicacin en la clase crculo para probar sus mtodos.
Solution
publicclasscirculo {privatedoubleradio;
//constructorpubliccirculo(doubleradio){
this.radio=radio;}
//metodospublicdoublehallarArea(){
doublearea;area=Math.PI*radio*radio;returnarea;
}publicdoublehallarPerim(){
doublep;p=2*Math.PI*radio;;returnp;
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassAplicacionCirculo {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);doubleradio;System.out.print("Ingrese el radio: ");radio=leer.nextDouble();
circulo nuevo=newcirculo(radio);
System.out.print("Area: "+nuevo.hallarArea());System.out.print("\nPerimetro: "+nuevo.hallarPerim());
}}
-
5/28/2018 Manual Algoritmos
20/165
20
Programa 20Disear en java crear una clase fecha con los atributos (da, mes, ao, das), crear un mtodopara mostrar fecha :(da+"/"+mes+"/"+ao) y luego crear un mtodo nueva fecha con unparmetro das, y el nmero de das a aadir a esta fecha y considerar los meses de 30 das
y mostrar la nueva fecha y realizar una aplicacin en java para probar sus mtodos.
Solucin
publicclassfecha {privateintdia;privateintmes;privateintao;privateintdias;
publicfecha(intdia,intmes,intao){this.dia=dia;
this.mes=mes;this.ao=ao;
}publicvoidmostrarfecha(){
System.out.println(dia+"/"+mes+"/"+ao);}
publicvoidnuevafecha(intdias){dia+=+dias;if(dia>30){
mes+=dia/30;dia%=30;
}if(mes>12){
ao+=mes/12;mes%=12;}
System.out.println("Nueva Fecha: "+dia+"/"+mes+"/"+ao);}
}
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionFecha {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);intdia,mes,ao,dias;System.out.print("Ingrese dia: ");dia=leer.nextInt();System.out.print("Ingrese mes: ");mes=leer.nextInt();System.out.print("Ingrese ao: ");ao=leer.nextInt();System.out.print("Ingrese el numero de dias a aumentar: ");dias=leer.nextInt();fecha z=newfecha(dia,mes,ao);z.mostrarfecha();
z.nuevafecha(dias);}
-
5/28/2018 Manual Algoritmos
21/165
21
Programa 21Implementar una clase nmero complejo y crear sus mtodos:
. Mostrar los nmeros complejos
. Sumar
. Restar
. Multiplicar
. DividirY desarrollar una aplicacin para probar sus metodos.
Solucin
publicclassNumero {//NUMERO COMPLEJO
privatedoublereal;privatedoubleimaginaria;
publicNumero(){ //1+ireal=1;imaginaria=1;
}publicNumero(doublereal, doubleimaginaria){
this.real=real;this.imaginaria=imaginaria;
}publicvoidmostrar(){
System.out.println(real+ "+"+ imaginaria+ "i");}
publicvoidsumar(doubler,doublei){doublesumaReal,sumaImag;
sumaReal=real+r;sumaImag=imaginaria+i;System.out.println("Suma: "+sumaReal+"+"+sumaImag+"i");
}publicNumero sumar(Numero b){
Numero resultado=newNumero();resultado. real=real+b.real;resultado.imaginaria=imaginaria+b.imaginaria;returnresultado;
}
publicNumero restar(Numero b){
Numero resultado=newNumero();resultado. real=real-b.real;resultado.imaginaria=imaginaria-b.imaginaria;returnresultado;
}publicNumero multiplicar(Numero b){
Numero resultado=newNumero();resultado.real=(real*b.real)-(imaginaria*b.imaginaria);
//real=ac-bdresultado.imaginaria=(real*b.imaginaria)+(imaginaria*b.real);
//imaginaria=ad+bcreturnresultado;
}publicNumero dividir(Numero b){
Numero resultado=newNumero();
-
5/28/2018 Manual Algoritmos
22/165
22
resultado. real=real/b.real;resultado.imaginaria=imaginaria/b.imaginaria;returnresultado;
}}
Aplicacin del ejercicio
publicclassAplicacionNumero {publicstaticvoidmain(String[] args) {
Numero A=newNumero(2,5);Numero B=newNumero(3,4);System.out.print("A: "); //a+biA.mostrar();System.out.print("B: "); //c+diB.mostrar();System.out.println("-------------------");System.out.print("Suma: ");A.sumar(B).mostrar();System.out.print("Resta: ");A.restar(B).mostrar();System.out.print("Multiplicacin: ");A.multiplicar(B).mostrar();System.out.print("Divisin: ");A.dividir(B).mostrar();}
}
Programa 22Implementar en java el siguiente ejercicio, crear una clase crculo con un atributo (radio) y
crear sus mtodos calcular rea del crculo y calcular el permetro del crculo. Luego crearotra clase rectngulo con los atributos (largo, alto) y crear un mtodo para calcular el rea delrectnguloLuego realizar una clase aplicacin para probar sus mtodos.
SolucinParte 1
publicclasscirculo {privateintradio;
publiccirculo(intradio) {super();this.radio= radio;
}floatcalculaAreaCirculo(){
return(float) (Math.PI*Math.pow(radio,2));}
publicfloatcalcularPerimetroCirculo(){return(float) (2*(Math.PI)*radio);
}}
Parte 2
publicclassrectangulo {
privatefloatlargo;privatefloatalto;
-
5/28/2018 Manual Algoritmos
23/165
23
publicrectangulo(floatlargo, floatalto) {super();this.largo= largo;this.alto= alto;
}
floatcalculaAreaRectangulo(){returnlargo*alto;}
}Parte 3
Aplicacin del ejercicio.
importjava.util.Scanner;publicclassAplicacion {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);
intradio;intlargo;intalto;System.out.println("ingresar radio del circulo:");radio=leer.nextInt();circulo c1= newcirculo(radio);System.out.println("ingresar largo del rectangulo:");largo=leer.nextInt();System.out.println("ingresar alto de rectangulo:");alto=leer.nextInt();rectangulo r1 = newrectangulo(largo,alto);System.out.println("el area del circulo:
"+c1.calculaAreaCirculo());
System.out.println("el perimetro del circulo:"+c1.calcularPerimetroCirculo());
System.out.println("el area de rectangulo:"+r1.calculaAreaRectangulo());
}}
Programa 23Desarrollar en java el siguiente ejercicio, crear una clase cubo con un atributo (lado) y crear
sus mtodos calcular el volumen del cubo y el rea total del total del cubo luego crear unaaplicacin para probar sus mtodos de la clase cubo.
solucinpublicclasscubo {
privateintlado;publiccubo(intlado) {
super();this.lado= lado;
}publicfloatcalcularVolumen() {
return(float)Math.pow(lado, 3);
}publicfloatcalcularAreaTotal(){
returnlado*lado*6;}}
-
5/28/2018 Manual Algoritmos
24/165
24
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionCubo {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);
intlado;System.out.println("ingresar lado del cubo:");lado=leer.nextInt();cubo nuevo =newcubo(lado);System.out.println("volumen: "+ nuevo.calcularVolumen());System.out.println("Area Total: "+ nuevo.calcularAreaTotal());
}}
Programa 24Implementar un programa en java crear una clase rectngulo ,primeras coordenadas con
los atributos( x, x1 ,x2, x3) y segunda coordenadas con los atributos( y ,y1 ,y2 ,y3)respectivamente . Crear los mtodos para hallar el rea del rectngulo y el Permetro del
rectngulo y un mtodo para decir si es rectngulo o es cuadrado.Luego implementar una aplicacin de la clase rectngulo en el siguiente men, para probarsus mtodos de la clase rectngulo.
Men1.-leer un Rectngulo con las coordenadas respectivamente2.-hallar rea del rectngulo3.-hallar el permetro del rectngulo4.-Es rectngulo o es cuadrado5.-SALIR
Elija opcin:
Solucin
publicclassrectangulo {privatefloatx,x1,x2,x3;privatefloaty,y1,y2,y3;publicrectangulo(floatx, floatx1, floatx2, floatx3, floaty,
floaty1,floaty2, floaty3) {super();this.x= x;this.x1= x1;this.x2= x2;
this.x3= x3;this.y= y;this.y1= y1;this.y2= y2;this.y3= y3;esrectangulo();
}publicfloatgetX() {
returnx;}
publicvoidsetX(floatx) {this.x= x;
}
publicfloatgetY() {returny;
}
-
5/28/2018 Manual Algoritmos
25/165
25
publicvoidsetY(floaty) {this.y= y;
}publicfloatladoAB(){
floatAB;AB=(float) Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));returnAB;
}publicfloat ladoBC(){
floatBC;BC=(float) Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
returnBC;}
publicfloatladoCD(){floatCD;CD=(float) Math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
returnCD;}
publicfloatladoAD(){floatAD;AD=(float) Math.sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
returnAD;}
publicint ladoAC(){intAC;AC=(int)Math.sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));returnAC;
}publicint ladoBD(){
intBD;BD=(int)Math.sqrt((x3-x)*(x-x3)+(y-y3)*(y-y3));returnBD;
}publicvoidesrectangulo() {
floatAB=ladoAB();floatBC=ladoBC();floatCD=ladoCD();floatAD=ladoAD();floatAC=ladoAC();floatBD=ladoBD();
if(AD==CD&& AD==BC&& AC==BD&&AB!=0&&BC!=0&&CD!=0&&AD!=0)if(AD!=AB)
System.out.print("es rectangulo");else
System.out.print("no es rectangulo ,es uncuadrado");
elseSystem.out.print("cordenadas no forman un rectangulo");
}publicfloat longitud(){
floatlon;floatAB=(float) Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));floatBC=(float) Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
floatCD=(float) Math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));floatAD=(float) Math.sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
-
5/28/2018 Manual Algoritmos
26/165
26
lon=(AB+BC+CD+AD);returnlon;
}publicfloat perimetro(){
floatper;per=(ladoAB()+ladoBC()+ladoCD()+ladoAD());returnper;
}publicfloatArea() {
floatAr=ladoAB()*ladoBC();returnAr;
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassAplicacionRectangulo {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);floatX,X1,X2,X3,Y,Y1,Y2,Y3;rectangulo fig1 = null;intopc;do{opc=menu();switch(opc) {case1:
System.out.println("Creamos en RECTANGULO: ");System.out.println(" Ingrese cordenadas: ");System.out.println();System.out.println("x: ");X=leer.nextFloat();
System.out.println("y: ");Y=leer.nextFloat();System.out.println("x1: ");X1=leer.nextFloat();System.out.println("y1: ");Y1=leer.nextFloat();System.out.println("x2: ");X2=leer.nextFloat();System.out.println("y2: ");Y2=leer.nextFloat();System.out.println("x3: ");X3=leer.nextFloat();System.out.println("y3: ");
Y3=leer.nextFloat();fig1= newrectangulo(X,X1, X2, X3, Y, Y1, Y2, Y3);break;
case2:System.out.println("el area del rectangulo:
"+fig1.Area());break;
case3:System.out.println("el perimetro del rectangulo:
"+fig1.perimetro());break;
case4:fig1.esrectangulo();
break;}}while(opc!=5);}
-
5/28/2018 Manual Algoritmos
27/165
27
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println(" menu");System.out.println("1.-leer un Rectangulo con dos cordenadas en
sus vertices");System.out.println("2.-hallar Area del rectangulo: ");System.out.println("3.-hallar el perimetro del rectangulo: ");System.out.println("4.-Es rectangulo o es cuadrado: ");System.out.println("5.-SALIR");System.out.println("\n\t Elija OPCION: ");op=leer.nextInt();returnop;
}}
Programa 25Desarrollar el siguiente ejercicio en java, crear una clase cuenta con un atributo (saldo) ycrear un constructor nativo saldo=100 y crear los mtodos para calcular:-ver el monto inicial de cuenta
-reintegro o giro de la cuenta.-ingreso de cuenta.-consultar saldo con un getSaldoLuego realizar una aplicacin de la clase cuenta con dos instancias de clase cuenta paraprobar sus mtodos.
SolucinpublicclassCuenta {
privatedoublesaldo;
publicCuenta()//contructor nativo{
saldo=100;}
publicCuenta(doublemonto){
saldo=monto;}
publicvoidreintegro(doublemonto ){
saldo=saldo-monto;}
publicvoidingreso(doublemonto){saldo=saldo+monto;
}publicdoublegetSaldo() {
returnsaldo;}
publicvoidsetSaldo(doublesaldo) {this.saldo= saldo;
}}
-
5/28/2018 Manual Algoritmos
28/165
28
Aplicacin del ejerciciopublicclassaplicacionCuenta {
publicstaticvoidmain(String[] args) {doubleaux = 0;Cuenta a = newCuenta();//instancia de la clase cuenta
Cuenta b = newCuenta(10.5);
aux = a.getSaldo();System.out.println("El saldo de a es: "+ aux);aux = b.getSaldo();System.out.println("El saldo de b es: "+ b.getSaldo());a.ingreso(2.3);b.reintegro(8);System.out.println("El saldo de a es: "+ a.getSaldo());System.out.println("El saldo de b es: "+ b.getSaldo());
}}
Programa 26crear una clase Practica sabiendo que tiene 4 nmeros, implementarCrear un mtodo para hallar el menor nmero, el mayor nmero, el promedio y la
multiplicacin de los 4 nmeros .Luego en la aplicacin de la clase prctica leer los 4nmeros por teclado y probar sus mtodos respectivamente.
Solucin
publicclassPractica {floatn1,n2, n3, n4;
publicfloatnumeroMenor(){
floatmenor =n1;if(menor>n2)
menor=n2;if(menor>n3)
menor=n3;if(menor>n4)
menor=n4;returnmenor;
}publicfloatnumeroMayor(){
floatmay =n1;if(may
-
5/28/2018 Manual Algoritmos
29/165
29
publicintMultiplicarNumero(){intm;m = (int) (n1*n2*n3*n4);returnm;
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassAplicacionPractica {
publicstaticvoidmain(String[] args) {Practica nuevo =newPractica();Scanner leer =newScanner(System.in);System.out.println("Ingresar numero 1:");nuevo.n1=leer.nextFloat();System.out.println("Ingresar numero2: ");
nuevo.n2=leer.nextFloat();System.out.println("Ingresar numero 3: ");nuevo.n3=leer.nextFloat();System.out.println("Ingresar numero 4: ");nuevo.n4=leer.nextFloat();System.out.println("Numero menor: "+nuevo.numeroMenor());System.out.println("Numero mayor: "+nuevo.numeroMayor());System.out.println("promedio: "+nuevo.calcularPromedio());System.out.println("suma de numeros: "+nuevo.SumaNumero());System.out.println("multiplicar numero:
"+nuevo.MultiplicarNumero());}
}
Programa 27Implementar un programa en java debemos , crear una una clase Banco con los atributos(saldo , transacciones) y crear un los siguientes mtodos : depositar dinero , girar dinero
,consultar saldo y obtener el nmero de transacciones del bancoImplementar un men en la aplicacin de Banco para probar sus mtodos.
Men1. depositar dinero2. girar dinero o retirar dinero
3. consultar saldo4. obtener el nmero de transacciones5. salirElegir una opcin:
Solucin.
publicclassBanco {privatedoublesaldo;privatedoubletransacciones;publicBanco() {
saldo= 0;transacciones= 0;
}publicvoiddepositar( doublemonto ) {
saldo= saldo+ monto;
-
5/28/2018 Manual Algoritmos
30/165
30
transacciones++;}
publicvoidgirar(doublemonto ) {if(saldo-monto< 0){
System.out.println("No tiene saldo suficiente");return;
}saldo= saldo- monto;transacciones++;
}publicdoublesaldoActual() {
returnsaldo;}
publicdoubleobtenerTransacciones() {returntransacciones;
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassAplicacionBanco {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);Banco cuenta= newBanco();intopc;do{
opc=menu();switch(opc){case1:System.out.println("Ingrese la Cantidad a
depositar :");cuenta.depositar(leer.nextDouble());
break;case2:System.out.println("Ingrese la Cantidad a girar
:");cuenta.girar(leer.nextDouble());
break;case3:System.out.println("Saldo :"+
cuenta.saldoActual());break;case4:System.out.println("Trans.:"+
cuenta.obtenerTransacciones());break;}
}while(opc!=5);
}
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println("menu");System.out.println("1.depositar dinero");System.out.println("2.girar dinero o retirar dinero");System.out.println("3.consultar saldo");System.out.println("4.obtener el nmero de transacciones");System.out.println("5.salir");System.out.println("elegir una opccion:");op=leer.nextInt();
returnop;}}
-
5/28/2018 Manual Algoritmos
31/165
31
Programa 28Implementar un programa en java debemos , crear una una clase Cuenta Bancaria con losatributos (inters , saldo) y crear un los siguientes mtodos : ingresar dinero , girar dinero
, consultar saldo , establecer inters y abonar inters.
Implementar un men en la aplicacin de la clase Cuenta Bancaria para probar sus mtodos.
Men1. ingresar dinero2. retirar dinero3. establecer inters o asignar crdito4. Abonar inters5. salirElegir una opcin:
SolucinpublicclassCuentaBancaria {
privatedoubleinteres;privatedoublesaldo;
publicCuentaBancaria() {saldo=0;interes=0;
}publicvoidingresarDeposito(doublemonto){
saldo=saldo+monto;
}publicvoidretirarDinero(doublemonto){if(saldo-monto< 0){
System.out.println("No tiene saldo suficiente");return;
}saldo=saldo-monto;}
publicdoubleSaldoActual(){returnsaldo;
}publicvoidEstablecerInteres(doubleinte){
if(inte
-
5/28/2018 Manual Algoritmos
32/165
32
CuentaBancaria cuenta1 = newCuentaBancaria();intopc;do{
opc=menu();switch(opc){case1:System.out.println("Ingrese dinero : ");cuenta1.ingresarDeposito(leer.nextDouble()); //ESTO SE
CUMPLE SOLO PARA ESTE CASObreak;
case2:System.out.println("retirar dinero: ");cuenta1.retirarDinero(leer.nextDouble()); //ESTO SE CUMPLE
SOLO PARA ESTE CASObreak;
case3:System.out.println("consultar saldo:"+cuenta1.SaldoActual());
break;case 4:cuenta1.EstablecerInteres(5);
break;case5:cuenta1.AbonarInteres();
break;}
}while(opc!=6);}
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println("1.ingresar dinero");System.out.println("2.retirar dinero");System.out.println("3.consultar saldo");System.out.println("4.aisgnar credito o establecer interes");System.out.println("5.abonar interes");System.out.println("6.salir");System.out.println("elegir una opccion :");op=leer.nextInt();returnop;
}}
Programa 29Implementar un programa en java debemos, crear una una clase libro con los atributos
(ttulo, precio, cantidad) y con dos atributos estticos (total, total de libros)Crear un los siguientes mtodos: total a comprar libros y total de libros
Realizar una aplicacin de la clase libro para probar sus mtodos.
Solution
publicclasslibro {staticfloattotal=0;staticinttotallibro=0;
privateString titulo;privatefloatprecio;privateintcantidad;publiclibro(String titulo, floatprecio, intcantidad) {
super();this.titulo= titulo;this.precio= precio;this.cantidad= cantidad;
}
-
5/28/2018 Manual Algoritmos
33/165
33
publicfloattotalcomprarLibros(){total=total+precio*cantidad;returntotal;
}publicinttotaDelibro(){
returntotallibro=totallibro+cantidad;}
publicString getTitulo() {returntitulo;
}publicvoidsetTitulo(String titulo) {
this.titulo= titulo;}
publicfloatgetPrecio() {returnprecio;
}publicvoidsetPrecio(floatprecio) {
this.precio= precio;}
publicintgetCantidad() {returncantidad;
}publicvoidsetCantidad(intcantidad) {
this.cantidad= cantidad;}
}
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionLibro {publicstaticvoidmain(String[] args) {
Scanner leer = newScanner(System.in);String titulo;floatprecio;intcantidad;libro nuevo=null;System.out.println("Ingresar datos del primer libro");System.out.print("Ingresar el Titulo: ");titulo=leer.next();System.out.print("Ingresar precio: ");precio=leer.nextFloat();System.out.print("Ingrese cantidad de libros a comprar: ");
cantidad=leer.nextInt();nuevo=newlibro(titulo,precio,cantidad);//System.out.println("total a comprar
libros:"+nuevo.totalcomprarLibros());System.out.println("total de libros:"+nuevo.totaDelibro());//
}}
-
5/28/2018 Manual Algoritmos
34/165
34
EJERCICIOS RESUELTOS CON LOS METODOS GET Y SETCON LA POO EN JAVA
Programa 30Implementar el siguiente programa en java, luego crear una clase fecha con los atributos
(da, mes , ao) y no tiene constructor ,mostrar los mtodos Get y Set de la clase fecha.Realizar una aplicacin de la clase fecha para probar los datos actualizados de la fecha ymostrar la fecha ingresada por teclado.
Solucin
publicclassfecha {privateintd;privateintm;privateinta;publicintgetD(){
returnd;
}publicvoidsetD (intd){
this.d=d;}
publicintgetM(){returnm;
}publicvoidsetM (intm){
this.m=m;}
publicintgetA(){returna;
}
publicvoidsetA (inta){this.a=a;
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassAplicacionFecha {
publicstaticvoidmain(String[] args) {fecha nuevo=newfecha();Scanner sc=newScanner(System.in);
System.out.println("Actualizar los datos de una fecha ingresada ");System.out.print("dia: ");
nuevo.setD(sc.nextInt());System.out.print("mes: ");nuevo.setM(sc.nextInt());System.out.print("ao: ");nuevo.setA(sc.nextInt());System.out.println("fecha:
"+nuevo.getD()+"/"+nuevo.getM()+"/"+nuevo.getA());}
}
-
5/28/2018 Manual Algoritmos
35/165
35
Programa 31Implementar el siguiente programa en java, se tiene en una ferretera una clase articulo con
los atributos (cdigo, descripcin, cantidad, precio de costo, precio de venta)Luego crear el constructor de la clase artculo y los mtodos Get y Set.
Realizar una aplicacin de la clase artculo para leer los datos del artculo y mostrar los datosdel artculo y luego encontrar la cantidad de artculos a comprar. Y el stock restante de losartculos.
Solucinpublicclassarticulo {
privateintcodigo;privateString descripcion;privateintcantidad;privateintpCosto;privatefloatpVenta;
publicarticulo(){
}publicarticulo(intcodi,String desc,intcant,intpCos,floatpVen){
this.codigo=codi;this.descripcion=desc;this.cantidad=cant;this.pCosto=pCos;this.pVenta=pVen;
}publicintgetCodigo() {
returncodigo;}
publicvoidsetCodigo(intcodigo) {this.codigo= codigo;
}publicString getDescripcion() {
returndescripcion;}
publicvoidsetDescripcion(String descripcion) {this.descripcion= descripcion;
}publicintgetCantidad() {
returncantidad;}
publicvoidsetCantidad(intcantidad) {
this.cantidad= cantidad;}
publicintgetpCosto() {returnpCosto;
}publicvoidsetpCosto(intpCosto) {
this.pCosto= pCosto;}
publicfloat getpVenta() {returnpVenta;
}publicvoidsetpVenta(floatpVenta) {
this.pVenta= pVenta;
}}
-
5/28/2018 Manual Algoritmos
36/165
36
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionArticulo {publicstaticvoidmain(String[] args) {
Scanner sc = newScanner(System.in);
intcodigo;String descripcion;intcantidad;intpCosto;floatpVenta;
//declaracion del objeto (art)articulo nuevo=null;
//lectura de datos del articulo a guardarSystem.out.print("codigo: ");codigo=sc.nextInt();System.out.print("descripcion: ");
descripcion = sc.next();System.out.print("cantidad: ");cantidad=sc.nextInt();System.out.print("pCosto ");pCosto=sc.nextInt();System.out.print("pVenta: ");pVenta=sc.nextInt();
//instanciar el objeto(art)y utilizar el constructor creadonuevo=newarticulo(codigo, descripcion, cantidad, pCosto,
pVenta);
//mostramos los campos del o0bjeto creado
System.out.println("\n\n\t ***DATOS DEL OBJETO***");System.out.println("codigo: "+ nuevo.getCodigo());System.out.println("descripcion: "+
nuevo.getDescripcion());System.out.println("cantidad: "+ nuevo.getCantidad());System.out.println("precio de costo: "+ nuevo.getpCosto());System.out.println("pVenta: "+ nuevo.getpVenta());
System.out.print("cantidad de articulos a comprar:");intc; //variable para guardar la cantidad de articulos para
comprarc=sc.nextInt();
if(c
-
5/28/2018 Manual Algoritmos
37/165
37
Programa 32Implementar el siguiente programa en java, se tiene en una tienda a una clase Empleado
con los atributos (nombre, sueldo, edad) .Luego crear el constructor de la clase Empleado ylos mtodos Get y Set de la clase Empleado. Realizar una aplicacin de la clase Empleado
para leer los datos del Empleado y mostrar los datos del Empleado y actualizar los datos delEmpleado.
Solucin
publicclassEmpleado {privateString nombre;privatedoublesueldo;privateintedad;publicEmpleado(){
}
publicEmpleado(String nombre, doublesueldo, intedad) {this.nombre= nombre;this.sueldo= sueldo;this.edad= edad;
}publicString getNombre() {
returnnombre;}
publicvoidsetNombre(String nombre) {this.nombre= nombre;
}publicdoublegetSueldo() {
returnsueldo;}publicvoidsetSueldo(doublesueldo) {
this.sueldo= sueldo;}
publicintgetEdad() {returnedad;
}publicvoidsetEdad(intedad) {
this.edad= edad;}
}
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionEmpleado {publicstaticvoidmain(String[] args) {
Scanner leer= newScanner(System.in);String nombre;doublesueldo;intedad;System.out.println("nombre: ");nombre=leer.next();System.out.println("sueldo: ");sueldo=leer.nextDouble();System.out.println("edad: ");edad=leer.nextInt();
Empleado secretaria1=newEmpleado(nombre,sueldo,edad);System.out.println("\t\t\n*****DATOS DE LA SECRETARIA****");System.out.println("nombre: "+ secretaria1.getNombre());
-
5/28/2018 Manual Algoritmos
38/165
38
System.out.println("sueldo: "+ secretaria1.getSueldo());System.out.println("edad : "+ secretaria1.getEdad());//Actualizar valoresSystem.out.print("nombre: ");secretaria1.setNombre(leer.next());System.out.print("sueldo: ");secretaria1.setSueldo(leer.nextDouble());System.out.print("edad: ");secretaria1.setEdad(leer.nextInt());
System.out.println("\t\t\n\n*****DATOS DE LA SECRETARIA****");System.out.println("nombre: "+ secretaria1.getNombre());System.out.println("sueldo: "+ secretaria1.getSueldo());System.out.println("edad : "+ secretaria1.getEdad());
}}
Programa 33Implementar una clase alumnos en java, con un atributo (nombre) y las 4 notasrespectivamente y desarrollar un mtodo para hallar el promedio de las notas y el otromtodo de alumno si est aprobado o desaprobado. Crear una aplicacin en el siguientemen para probar sus mtodos.
Men1. leer alumno y notas2. Mostrar promedio y estado de alumno (aprobado o desaprobado)3. mostrar notas del alumno
4. Modificar las 4 notas5. salirElija una opcin:
Solucin
publicclassalumnos {privateString nombre;privatefloatnota1;privatefloatnota2;privatefloatnota3;privatefloatnota4;
publicalumnos(String nombre, floatnota1, floatnota2, floatnota3,floatnota4) {
this.nombre= nombre;this.nota1= nota1;this.nota2= nota2;this.nota3= nota3;this.nota4= nota4;
}
publicString getNombre() {returnnombre;
}
publicvoidsetNombre(String nombre) {
-
5/28/2018 Manual Algoritmos
39/165
39
this.nombre= nombre;}
publicfloatgetNota1() {returnnota1;
}
publicvoidsetNota1(floatnota1) {this.nota1= nota1;
}
publicfloatgetNota2() {returnnota2;
}
publicvoidsetNota2(floatnota2) {this.nota2= nota2;
}
publicfloatgetNota3() {returnnota3;
}
publicvoidsetNota3(floatnota3) {this.nota3= nota3;
}
publicfloatgetNota4() {returnnota4;
}
publicvoidsetNota4(floatnota4) {this.nota4= nota4;
}//MTODOS DE INSTANCIA
publicintpromedio(){intprom;prom=(int)(nota1+nota2+nota3+nota4)/4;returnprom;
}publicString estado(){
if(promedio()>=11)return"APROBADO";
elsereturn"DESAPROBADO";
}}
Aplicacin del ejercicio
importjava.util.Scanner;publicclassaplicacionAlumnos {
publicstaticvoidmain(String[] args) {Scanner leer= newScanner(System.in);String nombre;floatnota1, nota2, nota3, nota4,nuevaNota;intopc, notaModificar;
-
5/28/2018 Manual Algoritmos
40/165
40
alumnos nuevo=null;// DECLARACIN DEL OBJETO 'nuevo'=sirve paraactualizar valores.
do{//inicia el bucle totalopc=menu();switch(opc){case1:
System.out.println("CREAR ALUMNO");System.out.print("Nombre del alumno: ");nombre=leer.next();System.out.print("Nota 1: ");nota1=leer.nextInt();System.out.print("Nota 2: ");nota2=leer.nextInt();System.out.print("Nota 3: ");nota3=leer.nextInt();System.out.print("Nota 4: ");nota4=leer.nextInt();nuevo=newalumnos(nombre, nota1, nota2, nota3,
nota4);break;
case2:System.out.println("VER PROMEDIO Y ESTADO");System.out.println("PROMEDIO: "+nuevo.promedio());System.out.println("ESTADO: "+nuevo.estado());System.out.println("---------------------");
break;case3:
System.out.println("VER NOTAS");System.out.println("ALUMNO: "+nuevo.getNombre());System.out.println("NOTAS: "+nuevo.getNota1()+", "+
nuevo.getNota2()+", "+nuevo.getNota3()+", "+nuevo.getNota4());
break;case4:
System.out.println("modificar notas");do{
System.out.print("Nota a Modifiar [1-4]: ");notaModificar=leer.nextInt();
}while(notaModificar4);System.out.print("Nueva Nota: ");nuevaNota= leer.nextFloat();switch(notaModificar){case1:
nuevo.setNota1(nuevaNota);break;
case2:nuevo.setNota2(nuevaNota);
break;case3:
nuevo.setNota3(nuevaNota);
break;case4:
nuevo.setNota4(nuevaNota);break;
}}//termina el bucle total
}while(opc!=5);
}
privatestaticintmenu() {
-
5/28/2018 Manual Algoritmos
41/165
41
intop;Scanner leer=newScanner(System.in);System.out.println("MENU");System.out.println("1. leer alumno y notas");System.out.println("2. hallar el promedio y estadio del
alumno");System.out.println("3. mostrar notas del alumno");System.out.println("4. modificar las 4 notas del alumno");System.out.println("5. salir");System.out.print("\n\t ELIJA UNA OPCIN: ");op=leer.nextInt();returnop;
}}
Programa 34Se tiene una lista de alumnos y se desea hallar el promedio de cada uno, sabiendo que todos
tienen 4 notas.Implementar el siguiente men en la aplicacin de alumnos
1.-registrar alumnos y notas;2.-mostar alumnos aprobados;3.-mostar alumnos desaprobados4.-mejor(es) alumno5.-peor(es) alumnos6.-ordenar por apellido7.-ordenar por promedio8-buscar notas de un alumnonota: crear una clase alumnos con los siguientes atributos (nombre, apellido, nota [],promedio)
Solucin
publicclassAlumnos {privateString nombre;privateString apellido;privateintnota1;privateintnota2;privateintnota3;
privateintnota4;privatedoublepromedio;publicAlumnos(String nombre, String apellido, intnota1, int
nota2,intnota3, intnota4,doublepromedio) {this.nombre= nombre;this.apellido= apellido;this.nota1= nota1;this.nota2= nota2;this.nota3= nota3;this.nota4= nota4;this.promedio= promedio;
}
publicvoidmostrarAlumno(){System.out.println(this.apellido+","+this.nombre+"---
>"+this.promedio);}
-
5/28/2018 Manual Algoritmos
42/165
42
publicvoidhallarPromedio(){this.promedio=(nota1+nota2+nota3+nota4)/4;
}
publicdoublegetPromedio(){returnpromedio;
}publicString getApellido(){
returnapellido;}
}
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionAlumnos {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);Alumnos[] lista=newAlumnos[10];intopcion,n=0;
do{ opcion=menu();
switch(opcion){case1:
System.out.println("Cantidad de alumnos: ");n=leer.nextInt();registro(lista,n);
break;case2:
for(inti=0;i10)
lista[i].mostrarAlumno();
break;case3:for(inti=0;i
-
5/28/2018 Manual Algoritmos
43/165
43
System.out.print("apellido");busca=leer.next();buscarApellido(lista,n,busca);
break;case9:
System.out.print("salir");break;
}}while(opcion!=9);System.out.println("Fin del programa!!");
}privatestaticvoidbuscarApellido(Alumnos[] lista, intn, String
busca) {booleanencontrado=false;for(inti=0;i
-
5/28/2018 Manual Algoritmos
44/165
44
privatestaticvoidregistro(Alumnos[] lista, intn) {Scanner leer=newScanner(System.in);String nombre,apellido;intnota1,nota2,nota3,nota4;doublepromedio = 0;for(inti=0;i
-
5/28/2018 Manual Algoritmos
45/165
45
EJERCICIOS RESUELTOS DE LA CLASE CON METODOS STATICPrograma 35Desarrollar el siguiente programa en java, Lea tres nmeros que representan el da, mes y el
ao y diga si forman fecha correcta .Considerar aos bisiestos.
Solucin
importjava.util.Scanner;publicclassFecha {
publicstaticvoidmain(String[] args) {intd;intm;inta;Scanner sc = newScanner(System.in);System.out.print("Dia : ");d=sc.nextInt();
System.out
.print("Mes : ");m=sc.nextInt();System.out.print("Anio : ");a=sc.nextInt();
if(fechaCorrecta(d,m,a)){System.out.print("Fecha Correcta");System.out.print(d+"/"+m+"/"+a);
}else{
System.out.print("fecha Incorrecta");}
}
privatestaticbooleanfechaCorrecta(intd, intm, inta) {intmaxDia=0;switch(m){case1:case3:case5:case7:case8:case10:case12:
maxDia=31;break;
case4:case6:case9:case11:
maxDia=30;break;
case2:if((a%4==0 && (a%100!=0))||(a%400==0)){
maxDia=29;}else{
maxDia=28;}
break;
}
-
5/28/2018 Manual Algoritmos
46/165
46
if(d>0 && d0){returntrue;
}else{
returnfalse;}
}}
Programa 36Implementar el siguiente programa en java, crear una clase fecha con atributos (da, mes,
ao) y crea un mtodo para hallar la fecha correcta, considere los aos bisiestosRealizar una aplicacin de la clase fecha que lea los tres nmeros que representan da, mes yao y probar sus mtodos respectivamente, si la fecha es correcta o incorrecta.
Solucion
publicclassfecha {privateintd;privateintm;privateinta;publicfecha(){}
publicfecha(intd, intm, inta) {super();this.d= d;this.m= m;this.a= a;
}publicintgetD() {
returnd;}
publicvoidsetD(intd) {this.d= d;
}publicintgetM() {
returnm;}
publicvoidsetM(intm) {this.m= m;
}publicintgetA() {
returna;}
publicvoidsetA(inta) {this.a= a;
}publicbooleanfechaCorrecta() {
intmaxDia = 0;switch(m){case1:case3:case5:case7:case8:case10:case12:
-
5/28/2018 Manual Algoritmos
47/165
47
maxDia=31;break;
case4:case6:case9:case11:
maxDia=30;break;
case2:if((a%4==0 && (a%100!=0))||(a%400==0)){
maxDia=29;}else{
maxDia=28;}
break;}if(d>0 && d0){
returntrue;}else{
returnfalse;}
}}
Aplicacin del ejercicioimportjava.util.Scanner;
publicclassAplicacionFecha {publicstaticvoidmain(String[] args) {
Scanner leer = newScanner(System.in);intd;
intm;inta;System.out.print("Dia : ");d=leer.nextInt();System.out.print("Mes : ");m=leer.nextInt();System.out.print("Anio : ");a=leer.nextInt();
fecha nuevo = newfecha(d,m,a);
if(nuevo.fechaCorrecta()){System.out.print("Fecha Correcta");
System.out
.print(d+"/"+m+"/"+a);}else{
System.out.print("fecha Incorrecta");}
}}
-
5/28/2018 Manual Algoritmos
48/165
48
EJERCICIOS RESUELTOS CON LOS METODOS GET SET Y TOSTRINGPrograma 37Implementar el siguiente programa en java, crear una clase Mascota con los siguientesatributos (nombre, edad, peso) y crea un mtodo To String para mostrar sus atributos
Realizar una aplicacin de la clase Mascota para probar el mtodo To String
Solucin
publicclassMascota {privateString nombre;privateintedad;privatefloatpeso;publicMascota(String nombre, intedad, floatpeso) {
super();this.nombre= nombre;this.edad= edad;
this.peso= peso;}
publicString getNombre() {returnnombre;
}publicvoidsetNombre(String nombre) {
this.nombre= nombre;}
publicintgetEdad() {returnedad;
}publicvoidsetEdad(intedad) {
this.edad= edad;
}publicfloatgetPeso() {
returnpeso;}
publicvoidsetPeso(floatpeso) {this.peso= peso;
}publicString toString() {
return"Mascota [edad="+ edad+" aos"+ ", nombre="+ nombre+", peso="+ peso+" Kg"+ "]";
}}
Aplicacin del ejercicio
publicclassAplicacionMascota {publicstaticvoidmain(String[] args) {
String s1 = "Hola";String s2 = "Hello";String s3 = "Hola";System.out.println((s1==s3)?"Iguales":"Diferentes");System.out.println((s1.equals(s2))?"Iguales":"Diferentes");Mascota nuevo = newMascota("Vick", 5, 18.8F);System.out.println("Nombre: "+nuevo.getNombre());System.out.println("Edad "+nuevo.getEdad());System.out.println("Peso "+nuevo.getPeso());System.out.println(nuevo.toString());
}}
-
5/28/2018 Manual Algoritmos
49/165
49
Programa 8Implementar el siguiente programa en java, crear una clase Alumno con los siguientes
atributos (curso, nivel Acadmico) y crea un mtodo To String para mostrar sus atributosRealizar una aplicacin de la clase Alumno para probar el mtodo To String.
Solucin
publicclassAlumno {privateString curso;privateString nivelAcadmico;publicAlumno(String curso, String nivelAcadmico) {
super();this.curso= curso;this.nivelAcadmico= nivelAcadmico;
}publicString getCurso() {
returncurso;}
publicvoidsetCurso(String curso) {this.curso= curso;
}publicString getNivelAcadmico() {
returnnivelAcadmico;}
publicvoidsetNivelAcadmico(String nivelAcadmico) {this.nivelAcadmico= nivelAcadmico;
}publicString toString() {
return"Alumno [curso="+ curso+ ", nivelAcadmico="+nivelAcadmico+ "]";
}}
Aplicacin del ejerciciopublicclassAplicacionAlumno {
publicstaticvoidmain(String[] args) {Alumno nuevo = newAlumno("matematica", "Muy bueno");System.out.println("Curso: "+nuevo.getCurso());System.out.println("Nivel Acadmico:
"+nuevo.getNivelAcadmico());
System.out.println(nuevo.toString());}
}
-
5/28/2018 Manual Algoritmos
50/165
50
EJERCICIOS RESUELTOS DE CADENA DE CARACTERESPrograma 39Implementar el siguiente programa en java, crear una clase en el main Ingresa una frase y
mostrar la frase y luego convertir la frase a maysculas y minsculas; cambiar las letras en la
frase, mostrar la frase desde la posicin 12 y hallar la longitud de la frase.
Frase ingresada: universidad nacional de Cajamarca
Solucin
importjava.util.*;publicclassPracticando {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);String frase=null;System.out.print("Ingrese una frase:");frase=leer.nextLine();System.out.println("\nmostrar la frase :"+frase);System.out.println("\n la frase convertida a
mayusculas:"+frase.toUpperCase()); //cadena CONVERTIR A MAYUSCULASSystem.out.println("\n la frase convertida a
minusculas:"+frase.toLowerCase());System.out.println("\n cambiando letras en las frase :
"+frase.replace('a','i'));//cambiar letra en una cadenaSystem.out.println("\n mostrar la frase desde la posicion 12
:"+frase.substring(12));System.out.print("\nla longitud de la frase es:"
+frase.length());}
}
Programa 40Ingresar una frase y mostrar la frase, contar palabras de la frase y decir cuantasVocales tiene en total la frase todo implementar con funciones desde el main
Solucinimportjava.util.Scanner;
publicclasscantidadVocalFrase {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);
String frase;
System.out.println("ingrese una frase: ");frase=leer.nextLine();mostrar(frase);contarPalabras(frase);contarVocal(frase);
}privatestaticvoidmostrar(String frase) {
System.out.println("\tmostrar la frase ingresada : "+frase);}
privatestaticvoidcontarPalabras(String frase) {intcp=0;
for(inti=0;i
-
5/28/2018 Manual Algoritmos
51/165
51
}System.out.println("la frase tiene: "+(cp+1)+" palabras");
}privatestaticvoidcontarVocal(String frase) {
intcv=0;for(inti=0;i
-
5/28/2018 Manual Algoritmos
52/165
52
}}while(opc!=7);
}privatestaticvoidmostrar(String frase) {
System.out.println("\tmostrar la frase ingresada : "+frase);}
privatestaticvoidcontarpalabras(String frase) {intcp=0;for(inti=0;i
-
5/28/2018 Manual Algoritmos
53/165
53
EJERCICIOS RESUELTOS CON VECTORESPrograma 42Implementar el siguiente programa en java, desarrollar el siguiente men.
1. leer vector.
2. mostrar vector.3. mostrar vector pares.
4. mostrar vectores impares.
5. mostrar vectores positivos.
6. mostrar vectores negativos.
7. ordenar vectores ascendentemente.
8. ordenar vectores descendentemente.
9. invertir un vector.
10. salir.
Elegir una opcin:
Solucin
importjava.util.Scanner;publicclassmenuV {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);int[]v=null;intopc,n=0;do{
opc=menu();
switch(opc){case1:System.out.println("ingresar la cantidad devectores: ");
n=leer.nextInt();v=newint[n];leer(v);
break;case2: mostrar(v);
break;case3:System.out.println("vectores pares");mostrarpar(v);
break;case4:System.out.println("vectores impares");
mostrarimpar(v);break;case5:System.out.println("vectores positivos");positivos(v,n);break;case6:System.out.println("vectores negativos");negativos(v,n);
break;case7:System.out.println("ordenar ascendentemente");ordenaAscendentemente(v,n);mostrar(v);
break;case8:System.out.println("ordena descendentemente");ordenaDescendentemente
(v,n);mostrar(v);break;
-
5/28/2018 Manual Algoritmos
54/165
54
case9:System.out.println("invertir vector");invertir(v,n);
break;case10:intbuscar;System.out.print("elemento a buscar: ");buscar=leer.nextInt();busquedaSecuencial(v, buscar);
break;}
}while(opc!=11);}
privatestaticvoidleer(int[] v) {Scanner leer=newScanner(System.in);for(inti=0;i
-
5/28/2018 Manual Algoritmos
55/165
55
for(intj=i+1;j
-
5/28/2018 Manual Algoritmos
56/165
56
Solucin
importjava.util.Scanner;publicclassMenuVectores {
publicstaticvoidmain(String[] args) {
Scanner br=newScanner(System.in);int[]v=null;intopc,n=0;do{
opc=menu();switch(opc){case1:System.out.print("ingresar cantidad de elementos
de vector: ");n=br.nextInt();v=newint[n];leer(v);
break;case2:
System.out.println("mostrar los datos de unvector");
mostrar(v);break;
case3: System.out.println("suma devectores:"+sumavector(v));
break;case4:System.out.println("promedio del
vector:"+promediovector(v));break;case5:mayorvector(v);
break;case6: menorvector(v);
break;case7: System.out.println("suma de vectores pares
:"+sumavectorPar(v));break;case8: System.out.println("suma de vectores
impares:"+sumavectorImpar(v));break;case9: System.out.println("la moda del vector
es:"+modavector(v,n));break;}
}while(opc!=10);}
privatestaticvoidleer(int[] v) {Scanner leer=newScanner(System.in);for(inti = 0; i < v.length; i++) {
System.out.print("\nv["+(i+1)+"]=");v[i]=leer.nextInt();
}}
privatestaticvoidmostrar(int[] v) {for(inti = 0; i < v.length; i++) {
System.out.println("\nv["+(i+1)+"]="+v[i]);}System.out.println("mostrar");
}
privatestaticintsumavector(int[] v) {intsum=0;for(inti = 0; i < v.length; i++) {
-
5/28/2018 Manual Algoritmos
57/165
57
sum+=v[i];}returnsum;
}privatestaticfloatpromediovector(int[] v) {
floatprom;prom=(float) sumavector(v)/v.length;returnprom;
}privatestaticvoidmayorvector(int[] v) {
intmay=v[0],psc=0;for(inti=0;i
-
5/28/2018 Manual Algoritmos
58/165
58
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println("menu");System.out.println("1.leer vector");System.out.println("2.mostrar vector");System.out.println("3.suma de vectores");System.out.println("4.promedio de vectores");System.out.println("5.mayor vector");System.out.println("6.menor vector");System.out.println("7.suma de vectores pares");System.out.println("8.suma de vectores impares");System.out.println("9.moda del vector :");System.out.println("10.salir :");System.out.println("elegir una opccion:");op=leer.nextInt();returnop;
}}
Programa 44Se tiene un arreglo de nombres de alumnos ,tres arreglos para sus calificaciones y un arreglopara sus promedios; mostrar al primer y ltimo puestos de acuerdo a su promedio, alpuesto(s)promedio y mostrar alumno y calificacin ms alta por cada arreglo decalificaciones.Nombre calif1 calif2 calif3 promedioKarla 15 18 10 14.3333Bety 20 20 16 18.6666. . . . .
. . . . .
. . . . .Ronal 14 16 20 16.666
Solucionimportjava.util.Scanner;
publicclassexamen {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);intn;System.out.print("ingresar la cantidad de alumnos:");
n=leer.nextInt();String alumno[] = newString[n];floatcalif1[] = newfloat[n];floatcalif2[] = newfloat[n];floatcalif3[] = newfloat[n];float[] p = newfloat[n]; //p=promedio de calificacionleer(alumno);System.out.println(" ");mostrar(alumno);System.out.println(" ");System.out.println("leer primera calificacion");leer(calif1);mostrar(calif1);System.out.println("");System.out.println("leer segunda calificacion");leer(calif2);
-
5/28/2018 Manual Algoritmos
59/165
59
mostrar(calif2);System.out.println(" ");System.out.println("leer tercera calificacion");leer(calif3);System.out.println(" ");mostrar(calif3);System.out.println(" ");promedioAlumno(calif1,calif2,calif3,p);System.out.println(" ");System.out.println("Informacion Final alumnos");System.out.println("Alumno\tCalif1\tCalif2\tCalif3\tProm" );for( inti= 0; i < alumno.length; i++ ){
System.out.println("");System.out.println(" "+alumno[i]+"\t "+calif1[i]+"\t
"+calif2[i]+"\t "+calif3[i]+"\t "+p[i]);}System.out.println(" ");System.out.println("El mayor promedio es: "+p[mejorAlumno(p)]+"
del alumno "+alumno[mejorAlumno(p)]);System.out.println(" ");System.out.println("El menor promedio es: "+p[peorAlumno(p)]+"
del alumno "+alumno[peorAlumno(p)]);System.out.println(" ");System.out.println("La mayor calificacion1 es:
"+calif1[mejorAlumno(calif1)]);System.out.println(" ");System.out.println("La mayor calificacion2 es:
"+calif2[mejorAlumno(calif2)]);System.out.println(" ");System.out.println("La mayor calificacion3 es:
"+calif3[mejorAlumno(calif3)]);
}privatestaticvoidleer(String[] alumno) {
Scanner leer = newScanner(System.in);System.out.println("\nleer "+alumno.length+" alumno:");for(inti=0;i
-
5/28/2018 Manual Algoritmos
60/165
60
privatestaticintmejorAlumno(float[] p) {intmayPromedio=0;floatmay=p[0];for(inti=0;i
-
5/28/2018 Manual Algoritmos
61/165
61
importjava.util.Scanner;publicclassConjunto {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);
int[]a=null;int[]b=null;int[]y= newint[200];int[]t=newint[200];int[]e=newint[200];intn=0,m=0,opc;do{
opc=menu();switch(opc){case1:System.out.print("\tingrese la cantidad
elementos:");n=leer.nextInt();a=newint[n];
leer1(a);break;case2:System.out.print("\tingrese la cantidad de
elementos:");m=leer.nextInt();b=newint[m];leer2(b);
break;case3:System.out.print("\tLA UNION DE CONJUNTOS: ");//por teoria union de conjuntos es ://La interseccin de conjuntos ,conjunto A-B ,conjunto B-ASystem.out.print("");inter(a,b,e);//interseccion de conjuntos
difere(a,b,t,m); //la diferencia de conjuntos A-Bdifere1(a,b,y,m);//la diferencia de conjuntos B-Abreak;case4:System.out.print("\tLA INTRESECCION DE A y B
son : ");System.out.print("");inter(a,b,e);
break;case5:
System.out.println("\tLA DIFERENCIA A - B :");System.out.print("");difere(a,b,t,m);System.out.println("");
System.out
.println("\tLA DIFERENCIA B- A :");System.out.print("");difere1(a,b,y,m);
break;case6:System.out.println("salir");
break;}
}while(opc!=6);}
privatestaticvoidleer1(int[] a) {Scanner leer=newScanner(System.in);System.out.println("\t\t\tConjunto 1");for(inti=0;i
-
5/28/2018 Manual Algoritmos
62/165
62
privatestaticvoidleer2(int[] b) {Scanner leer=newScanner(System.in);System.out.println("\t\t\tConjunto 2");for(inti=0;i
-
5/28/2018 Manual Algoritmos
63/165
63
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println("");System.out.println("\tmenu");System.out.println("\t1.conjunto A ");System.out.println("\t2.conjunto B");System.out.println("\t3.union");System.out.println("\t4.interseccion");System.out.println("\t5.diferencia");System.out.println("\t6.salir");System.out.print("\telegir una opccion :");op=leer.nextInt();returnop;
}}
Programa 46
Implementar un programa en java, utilizar vectores.Men
1. leer el vector A2. Mostrar el vector A3. Mostrar la suma de extremos del vector A4. Mostrar el vector B= (suma de extremos del vector A)/25. salir
Elegir una opccion:Solucin
importjava.util.Scanner;publicclassvectorSumaExtremo {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);int[]v=null;intopc;intn=0;double[]suma=newdouble[100];float[]b=newfloat[50];
do{opc=menu();switch(opc){case1:System.out.println("ingresar la cantidad de
vectores: ");n=leer.nextInt();v=newint[n];System.out.println("\tleer el vector A");leer(v);
break;case2:System.out.println("\tMostrar el vector A");mostrar(v);
break;case3:System.out.println("\tsuma de extremos del vector
A");
SumaVectorExtremo(v,n,suma);break;
-
5/28/2018 Manual Algoritmos
64/165
64
case4:System.out.println("\t(Suma de extremos del vectorA)/2");
mitadsumaextreno(suma,n,b);break;}
}while(opc!=5);}
privatestaticvoidleer(int[] v) {Scanner leer=newScanner(System.in);for(inti=0;i
-
5/28/2018 Manual Algoritmos
65/165
65
Programa 47Implementar un programa en java, utilizar vectores, no muestra el vector sobrante vea sudiferencia con el anterior ejercicio.
Men
1. leer el vector A2. Mostrar el vector A3. Mostrar la suma de extremos del vector A4. Mostrar el vector B= (suma de extremos del vector A)/25. salir
Elegir una opccion:Solucinimportjava.util.Scanner;
publicclassvectorSumaExtremo {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);
int[]v=null;intopc;intn=0;double[]suma=newdouble[100];float[]b=newfloat[50];do{
opc=menu();switch(opc){case1:System.out.println("ingresar la cantidad de
vectores: ");n=leer.nextInt();v=newint[n];System.out.println("\tleer el vector A");
leer(v);break;case2:System.out.println("\tMostrar el vector A");mostrar(v);
break;case3:System.out.println("\tsuma de extremos del vector
A");SumaVectorExtremo(v,n,suma);
break;case4:System.out.println("\t(Suma de extremos del vector
A)/2");mitadsumaextreno(suma,n,b);
break;
}}while(opc!=5);}
privatestaticvoidleer(int[] v) {Scanner leer=newScanner(System.in);for(inti=0;i
-
5/28/2018 Manual Algoritmos
66/165
66
privatestaticvoidSumaVectorExtremo(int[] v, intn,double[] suma) {
inta;a=n/2;for(inti=0;i
-
5/28/2018 Manual Algoritmos
67/165
67
importjava.util.*;publicclassoperacionvector {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);int[]a=null;int[]b=null;double[]suma=newdouble[100];float[]multiplicar=newfloat[100];double[]promedio=newdouble[100];intn=0,m=0,opc;do{
opc=menu();switch(opc){case1: System.out.println("ingresar cantidad numeros
del vector A :");n=leer.nextInt();a=newint[n];leer(a);System.out.println("mostrar vector A");mostrar(a);
break;case2: System.out.println("ingresar cantidad numeros
del vector B :");m=leer.nextInt();b=newint[m];leer(b);System.out.println("mostrar vector B");mostrar(b);
break;case3:System.out.println("sumar vector A+B");
sumarvector(a,b,suma,n);break;case4:System.out.println("multiplicar vector A*B");
mul(a,b,multiplicar,n);break;
case5:System.out.println("mostrar pares del vectorsuma");
paresvectorSuma(suma,n);break;
case6:System.out.println("mostrar imapres del vectorsuma");
imparesvectorSuma(suma,n);break;
case7:promediovectorSuma(suma,promedio,n);
break;}
}while(opc!=8);}
privatestaticvoidpromediovectorSuma(double[] suma, double[]promedio,intn) {
for(inti=0;i
-
5/28/2018 Manual Algoritmos
68/165
68
System.out.println("\tv["+(i+1)+"]="+suma[i]);}
}privatestaticvoidparesvectorSuma(double[] suma,intn) {
for(inti=0;i
-
5/28/2018 Manual Algoritmos
69/165
69
EJERCICIOS RESUELTOS CON MATRICESPrograma 49Implementar el siguiente men en java.
Men
1. leer una matriz2. mostrar la matriz3. mostrar la matriz transpuesta4. mostrar la submatriz5. salirElegir una opcin:
Solucin
importjava.util.*;publicclassMatriz2 {
publicstaticvoidmain(String[] args) {Scanner leer = newScanner(System.in);int[][]m1= newint[100][100];intf=0, c=0,opc;do{
opc=menu();switch(opc){case1:
System.out.print("Ingrese filas: ");f= leer.nextInt();System.out.print("Ingese columnas: ");c=leer.nextInt();System.out.println("\tleer matriz1 ");
leerMatriz(m1,f,c);break;
case2: System.out.println("\tmostrar matriz1 ");mostrarMatriz(m1,f,c);
break;case3:System.out.println("\tmostrar matriz1
transpuesta");MatrizTranspuesta(m1,f,c);
break;case4:System.out.println("\tmostrar la submatriz de
matriz1");mostrarSubmatriz(m1,f,c);
break;
}}while(opc!=5);}
privatestaticintmenu() {Scanner leer = newScanner(System.in);intop;System.out.println();System.out.println("MENU");System.out.println("1.leer una matriz ");System.out.println("2.mostrar la matriz ");System.out.println("3.mostrar la matriz transpuesta");System.out.println("4.mostrar la submatriz ");
System.out.println("5.salir");System.out.print("elegir una opcion:");op=leer.nextInt();
-
5/28/2018 Manual Algoritmos
70/165
70
returnop;
}privatestaticvoidleerMatriz(int[][] m1, intf, intc) {
Scanner leer = newScanner(System.in);for(inti=0; i
-
5/28/2018 Manual Algoritmos
71/165
71
mostrar(m1,f,c);System.out.println("mayor numero de la matriz :"
+mayorMatriz(m1,f,c));System.out.println("menor numero de la matriz :"
+menorMatriz(m1,f,c));System.out.println("numeros pares de la matriz");par(m1,f,c);System.out.println("numeros impares de la matriz");impar(m1,f,c);System.out.println("ordena fila de matriz descendentemente");ordenaFila(m1,f,c);System.out.println("Matriz 1:");mostrar(m1,f,c);System.out.println("ordena columna de matriz
descendentemente");ordenaColumna(m1,f,c);System.out.println("Matriz 1:");mostrar(m1,f,c);
}privatestaticvoidleer(int[][] m1,intf,intc) {
Scanner leer = newScanner(System.in);for(inti = 0; i
-
5/28/2018 Manual Algoritmos
72/165
72
}}
privatestaticvoidimpar(int[][] m1, intf, intc) {for(inti=0;i
-
5/28/2018 Manual Algoritmos
73/165
73
opc=menu();switch(opc){case1:
System.out.print("ingresar una matriz de ordencuadrada:");
ord=br.nextInt();m1=newint[ord][ord];;m2=newint[ord][ord];;suma= newint[ord][ord];multiplica=newint[ord][ord];System.out.println("\tleer matriz 1");leer1(m1,ord);System.out.println("\tmostrar la matris 1");mostrar1(m1,ord);
break;case2:System.out.println("\tleer matriz 2");leer2(m2,ord);System.out.println("\tmostrar la matris 2");mostrar2(m2,ord);
break;case3:System.out.print("\tla suma de dos matrices son");sumaM(m1,m2,suma);System.out.println("\t");mostrarsuma(suma);
break;
case4:System.out.println("multiplicar la matriz
cuadrada");matrizMultiplica(m1,m2,ord,multiplica);mostrarMultiplicacion(multiplica);
break;
}}while(opc!=5);
}
publicstaticvoidleer1(int[][] m1, intord) {Scanner br = newScanner(System.in);for(inti = 0; i
-
5/28/2018 Manual Algoritmos
74/165
74
System.out.println();}
}privatestaticvoidmostrar2(int[][] m1, intord) {
for(inti = 0; i
-
5/28/2018 Manual Algoritmos
75/165
75
Programa 52Implenetar el siguiente men para las matrices de orden cuadrada.
Men1. leer la primera matriz.
2. leer la segunda matriz.3. mostrar las suma de dos matrices.4. mostrar la diagonal principal de la primera matriz5. mostrar la diagonal principal de la segunda matriz.6. mostrar la diagonal principal de la suma de dos matrices.7. salir.
Elegir una opcin:
Solucin.
importjava.util.Scanner;publicclassOperacioneMatrizCuarada {publicstaticvoidmain(String[] args) {
Scanner br = newScanner(System.in);int[][]m1=null;int[][]m2=null;int[][]suma=null;int[]filas=null;int[]cols=null;intopc,ord=0;do{
opc=menu();switch(opc){
case1:System.out.print("ingresar una matriz de ordencuadrada:");
ord=br.nextInt();m1=newint[ord][ord];;m2=newint[ord][ord];;suma= newint[ord][ord];filas= newint[ord];cols= newint[ord];System.out.println("\tleer matriz 1");leer1(m1,ord);System.out.println("\tmostrar la matris 1");mostrar1(m1,ord);
break;case2:System.out.println("\tleer matriz 2");
leer2(m2,ord);System.out.println("\tmostrar la matris 2");mostrar2(m2,ord);
break;case3:System.out.print("\tla suma de dos matrices son");sumaM(m1,m2,suma);System.out.println("\t");mostrarsuma(suma);
break;case4:
System.out.println("matriz 1");sumard(m1,m2,ord,cols,filas);
break;case5: System.out.println("matriz 2");
-
5/28/2018 Manual Algoritmos
76/165
76
sumard1(m1,m2,ord,cols,filas);break;case6:System.out.println("mostrar ");dprincipal(suma);
break;}
}while(opc!=7);}
publicstaticvoidleer1(int[][] m1, intord) {Scanner br = newScanner(System.in);for(inti = 0; i
-
5/28/2018 Manual Algoritmos
77/165
77
publicstaticvoidsumard(int[][] m1, int[][] m2, intord, int[]cols,int[] filas) {
intdp=0;for(inti=0;i
-
5/28/2018 Manual Algoritmos
78/165
78
Programa 53Implementar un programa en java que permita generar la siguiente matriz.Ingresar las columnas: 5Ingresar las filas: 4
Mostrar la matriz:
1 5 9 13 172 6 10 14 183 7 11 15 194 8 12 16 20
Solucinimportjava.util.Scanner;
publicclassGeneraMatrizOrdenada {publicstaticvoidmain(String[] args) {
Scanner leer=newScanner(System.in);int[][]matriz=newint[100][100];intf,c;System.out.println("ingresar las columnas:");c=leer.nextInt();System.out.println("ingresar las filas:");f=leer.nextInt();leer(matriz,f,c);
}privatestaticvoidleer(int[][] matriz, intf, intc) {
intaux=0;//int[][] m1=new int[100][100];for(inti=0;i
-
5/28/2018 Manual Algoritmos
79/165
79
Programa 54Implementar el siguiente men en java, desarrollar el siguiente men para una matriz deorden cuadrada. Implementa con funciones el siguiente men desde el main .
Men
1. leer una matriz2. Mostrar la matriz3. Mostrar nmeros pares de una matriz4. Mostrar nmeros impares de una matriz5. Mostrar diagonal principal de la matriz6. Mostrar diagonal secundaria de la matriz7. Mostrar los nmeros mayores de las filas de una matriz8. Mostrar los nmeros mayores de las columnas de una matriz9. ordenar filas matrices10. ordena columnas matrices
11. salir.Elegir una opcin:
Solucinimportjava.util.Scanner;
publicclassSumaMatriz {publicstaticvoidmain(String[] args) {
Scanner br = newScanner(System.in);int[][]m1=null;int[]filas=null;int[]cols=null;int[]mayf=newint[200];int[]mayc=newint[200];int
opc,ord=0;do{opc=menu();switch(opc){case1:
System.out.print("ingresar una matriz de ordencuadrada:");
ord=br.nextInt();m1=newint[ord][ord];;filas= newint[ord];cols= newint[ord];System.out.println("\tleer matriz 1");leer1(m1,ord);
break;case2:System.out.println("\tmostrar la matris 1");mostrar1(m1,ord);
break;case3:System.out.println("los numeros pares de una
matriz son:");par(m1,ord);break;case4: System.out.println("los numeros impares de una
matriz son:");impar(m1,ord);
break;case5:System.out.println("matriz 1");dpMatriz(m1,ord,cols,filas);
break;case6:dsMatriz(m1,ord,cols,filas);
-
5/28/2018 Manual Algoritmos
80/165
80
break;case7:mayFila(m1,ord,mayf);System.out.println("\t el mayor de filas");for(intk=0;k
-
5/28/2018 Manual Algoritmos
81/165
81
mayf[k]=m1[k][0];for(inti=0;i
-
5/28/2018 Manual Algoritmos
82/165
82
filas[i]=filas[i]+m1[i][j];cols[j]=cols[j]+m1[i][j];if(i==j)
dp=dp+m1[i][j];}
System.out.println("\t ladiagonal principal de la matriz es :"+dp);}
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println("menu");System.out.println("1.leer una matriz ");System.out.println("2.mostrar la matriz");System.out.println("3.numeros pares de una matriz ");System.out.println("4.numeros impares de una matriz");System.out.println("5.diagonal principal de la matriz");System.out.println("6.diagonal secundaria de la matriz");System.out.println("7.mostrar los numeros mayores de las filas
de una matriz");System.out.println("8.mostrar los numeros mayores de las
columnas de una matriz");System.out.println("9.ordenar filas matriz");System.out.println("10.ordena columnas matriz");System.out.println("11.salir");System.out.print("elegir una opccion :");op=leer.nextInt();returnop;
}}
Programa 55
Desarrollar el siguiente men en java implementar con funciones el men desde main.Men1. leer una matriz2. mayor suma de filas3. menor suma de filas4. mayor suma de columnas5. menor suma de columnas6. salirElegir una opcin:
Solucin
*/importjava.util.Scanner;publicclassExamen {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);int[][]m1=newint[100][100];intf=0,c=0,opc;int[]sumaFila=newint[100];int[]sumaColumna=newint[100];do{
opc=menu();switch(opc){case1:
System.out
.println("ingreese el numero de filas :");f=leer.nextInt();System.out.println("ingreese el numero de columnas :");
-
5/28/2018 Manual Algoritmos
83/165
83
c=leer.nextInt();System.out.println("leer la matriz 1:");leer(m1,f,c);mostrar(m1,f,c);
break;case2: sumaFilaMatriz(m1,f,c,sumaFila);//maysf=la
mayor suma de filasSystem.out.println("\nel mayor de suma de filas");maySf(sumaFila,f,c);//mostrar el mayor de suma de filas
break;case3: System.out.println("\nel menor de suma de
filas");menSf(sumaFila,f,c);//mostrar el menor de suma de filas
break;case4:
sumaColumnaMatriz(m1,f,c,sumaColumna);//maysf=la mayor suma decolumna
System.out.println("\nel mayor de suma de columnas");maySc(sumaColumna,f,c);//mostrar el mayor de suma de
columnasbreak;case5: System.out.println("\nel menor de suma de
columnas");menSc(sumaColumna,f,c);//mostrar el menor de suma de
columnasbreak;}
}while(opc!=6);}
privatestaticvoidleer(int[][] m1, intf, intc) {Scanner leer=newScanner(System.in);for(inti=0;i
-
5/28/2018 Manual Algoritmos
84/165
84
contador=i;}
}}System.out.println(" el mayor suma de las filas es : "+mayor+"
y esta en la posicion "+(contador+1));}
privatestaticvoidmenSf(int[] sumaFila, intf, intc) {intmenor,contador=0;menor=sumaFila[0];for(inti=0;i
-
5/28/2018 Manual Algoritmos
85/165
85
privatestaticintmenu() {Scanner leer=newScanner(System.in);intop;System.out.println("menu");System.out.println("1.leer una matriz");System.out.println("2.mayor suma de filas");System.out.println("3.menor suma de filas");System.out.println("4.mayor suma de columnas");System.out.println("5.menor suma de columnas");System.out.println("6.salir");System.out.println("elegir una opccion :");op=leer.nextInt();returnop;
}}
Programa 56Desarrollar el siguiente men en java implementar con funciones el men desde main.
Men1. leer una matriz2. mostrar la matriz3. Intercambiar la primera columna y ltima columna de una matriz4. Intercambiar la primera fila y ltima fila de una matriz5. salir
Elegir una opcin:
Solucin.
importjava.util.Scanner;publicclassmatrizA {publicstaticvoidmain(String[] args) {
Scanner leer = newScanner(System.in);intm1[][]= newint[10][10];intf=0,c=0,opc;do{
opc=menu();switch(opc){
case1:System.out.print("Ingrese filas: ");//FILASf=leer.nextInt();System.out.print("Ingese columnas: ");//COLUMNAS
c=leer.nextInt();leerMatriz(m1,f,c);break;
case2:System.out.println("\tmostrar la matriz ");mostrarMatriz(m1,f,c);
break;case3:System.out.println("intercambia primera columna y
ultima columna");IntercambiarColumnas(m1,f,c);mostrarMatriz(m1,f,c);
break;case4:System.out.println("intercambia primera fila y
ultima fila");IntercambiarFilas
(m1,f,c);mostrarMatriz(m1,f,c);break;
-
5/28/2018 Manual Algoritmos
86/165
86
}}while(opc!=5);System.out.print("fin del programa");}
privatestaticvoidleerMatriz(int[][] m1, intf, intc) {Scanner leer = newScanner(System.in);for(inti=0; i
-
5/28/2018 Manual Algoritmos
87/165
87
EJERCICIOS RESUELTOS CON LOS METODOS DE ORDENAMIENTO DE UN VECTOR
Programa 57Los mtodos de ordenamiento de un vector .Leer un vector, mostrar el vector, buscar el
vector de manera secuencial con recursividad, Buscar el vector de manera binaria, Ordenarel vector con la Burbuja, Ordena el vector con el mtodo de seleccin, Ordena el vector con elmtodo de insercin, Ordena el vector con el mtodo de Shell, Ordena el vector con elmtodo de QuierSort .Todo implementar con funciones desde en main.
Solucin
importjava.util.Scanner;publicclassMetodosOrdamientos {
publicstaticvoidmain(String[] args) {Scanner leer=newScanner(System.in);
int[]v=null;intn;System.out.println("\ningresar la cantidad de vectores: ");n=leer.nextInt();v=newint[n];leer(v);System.out.println("\nmostrar vector");mostrar(v);//BUSQUEDA SECUENCIAL DE MANERA RECURSIVAintindice;intclave; //clave=buscarSystem.out.print(" vector a buscar:");clave=leer.nextInt();
indice=buscarVector(v,n,clave);if(indice==-1)System.out.println("el vector no se ecuentra en la
lista");else
System.out.println("el vector si se encuentra en lalista");
//FIN DE LA BUSQUEDA SECUENCIALSystem.out.println("\tbusqueda binaria");//BUSQUEDA BINARIASystem.out.print("\n\tElemento a buscar: ");intbuscar=leer.nextInt();busquedaBinaria(v,buscar);
//LOS METODOS DE ORDENACIONSystem.out.println("ordenar vector con la burbuja");System.out.println("");
Burbuja(v,n);mostrar(v);System.out.println("ordenar vector con el metodo de
seleccion");System.out.println("");Seleccion(v,n);mostrar(v);System.out.println("ordenar vector con el metodo de
Inserccion");System.out.println("");Insercion(v,n);mostrar(v);
-
5/28/2018 Manual Algoritmos
88/165
88
System.out.println("ordenar vector con el metodo de shell");System.out.println("");Shell(v,n);mostrar(v);System.out.println("ordenar vector con el metodo de QuierSort
Descendentemente");System.out.println("");QuierSort(v,0,n-1);mostrar(v);
}privatestaticvoidleer(int[] v) {//LEER UN VECTOR
Scanner leer=newScanner(System.in);for(inti=0;i
-
5/28/2018 Manual Algoritmos
89/165
89
v[i]=v[j];v[j]=aux;
}}
privatestaticvoidSeleccion(int[] v, intn) {//ORDENAR EL VECTORPOR METODO DE SELECCION
intindiceMenor;for(inti = 0; i < n-1; i+