Professional Documents
Culture Documents
JAVA
Programa 1 disear 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
import java.util.Scanner; public class examen1 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int dia,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 2 Se 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
import java.util.Scanner; public class examen2 { public static void main(String[] args) { Scanner leer=new Scanner(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();
suma+=temp; System.out.println("temperatura 2:"); temp=leer.nextInt(); if(temp>Tmayor) { Tmayor=temp; Cmayor=ciudad; } else if(temp<Tmenor){ Tmenor=temp; Cmenor=ciudad; } System.out.println("ciudad 3:"); ciudad=leer.next(); System.out.println("temperatura 3:"); temp=leer.nextInt(); suma+=temp; if(temp>Tmayor){ Tmayor=temp; Cmayor=ciudad; } else if(temp<Tmenor){ Tmenor=temp; Cmenor=ciudad; } System.out.println("ciudad 4:"); ciudad=leer.next(); suma+=temp; System.out.println("temperatura 4:"); temp=leer.nextInt(); if(temp>Tmayor){ Tmayor=temp; Cmayor=ciudad; } else if(temp<Tmenor){ Tmenor=temp; Cmenor=ciudad; } System.out.println("ciudad 5:"); ciudad=leer.next(); suma+=temp; System.out.println("temperatura 5:"); temp=leer.nextInt(); if(temp>Tmayor){ Tmayor=temp; Cmayor=ciudad; } else if(temp<Tmenor){ Tmenor=temp; Cmenor=ciudad; } Tprom=suma/5; System.out.println("temperatura mayor:"+Tmayor+" pertenece a: "+Cmayor); System.out.println("temperatura menor:"+Tmenor+" pertenece a: "+Cmenor); System.out.println("la temperatura promedio es "+Tprom); } }
Programa 3 Disear 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: 9357 Suma de posiciones pares=10 Suma de posiciones impares=14 No son iguales Nota 9357 u=7, d=5, c=3, um=9; Solucin
import java.util.Scanner; public class examen4 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int numero,u,d,c,um,spp,spi; System.out.println("Numero:"); numero=leer.nextInt(); if(numero<10000 && 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 4 Ingresar un nmero por teclado, contar sus dgitos del nmero, hallar suma de dgitos pare e impares Solucin.
import java.util.Scanner; public class Numero { public static void main(String[] args) { int n,c=0,sp=0,si=0; Scanner sc=new Scanner(System.in); System.out.print("ingresar un numero:"); n=sc.nextInt(); while(n>0){ c++; int r=n%10; if(r%2==0){
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 5 Ingresar un nmero por teclado y decir si el nmero es primo o el nmero ingresado no es primo. Solucin.
import java.util.Scanner; public class NumeroPrimo { public static void main(String[] args) { int n,i=2,c=0; Scanner sc=new Scanner(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"); else System.out.println("el numero no es primo"); } }
Programa 6
Implementar un programa en java, ingresar un numero por teclado y decir si el un nmero es perfecto o no es prefecto Solucin
import java.util.Scanner; public class perfecto { public static void main(String[] args) { int n,i,s; Scanner br=new Scanner(System.in); do{ System.out.print("ingresar un numero :"); n=br.nextInt(); i=1; s=0; while(i<n){ if(n%i==0) s=s+i; i++; }
if(s==n){ System.out.print("el numero es perfecto"); i=1; while(i<n){ if(n%i==0) System.out.println( i +" "); i++; } } else System.out.println("el numero no es perfecto"); }while(n!=0); } }
Programa 7 Implementar un programa en java ,ingresar un nmero y hallar la suma de divisores del nmero. solucion
import java.util.Scanner; public class Numero { public static void main(String[] args) { int n,sd=0; Scanner sc=new Scanner(System.in); System.out.print("ingrese el numero :"); n=sc.nextInt(); for(int i=1;i<=n;i++){ if(n%i==0) sd=sd+i; System.out.print(i+" "); } System.out.println(" la suma de divisores es :"+sd); } }
Programa 10 Mostrar la cantidad de nmero perfectos, entre 5 y 1000. Implementar el programa en java con funciones. Solucin
import java.util.Scanner; public class Numero { public static void main(String[] args) { int n,ls,li; Scanner br=new Scanner(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); } private static void perfecto(int li, int ls) { int c=0; for(int i=li;i<=ls;i++){ int suma=0; for(int j=1;j<i;j++){ if(i%j==0) suma=suma+j; } if(suma==i){ c++; System.out.println(i+" "); } }
Programa 11 Desarrollar un programa en java decir si un nmero es capica o no es capica, implementar con funciones. solucion
import java.util.Scanner; public class Capicua { public static void main(String[] args) { int n; Scanner br=new Scanner(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:") ; } public static boolean esCapicua(int n) { int temp=n,nuevo=0; while(temp>0){ int r=temp%10; nuevo=nuevo*10+r; temp=temp/10; } if(nuevo==n) return true; else return false; } }
Solucin
public class calculadora { private float n1; private float n2; public calculadora(float n1, float n2) { super(); this.n1 = n1; this.n2 = n2; } public int sumarNumero(){ int suma = (int) (n1+n2); return suma; } public int restarNumero(){ int resta; resta=(int) (n1-n2); return resta; } public int multiplicarNumero(){ int m; m=(int) (n1*n2); return m; } public int dividirNumero(){ int d; d=(int) (n1/n2); return d; } }
10
opc=menu(); switch(opc){ case 1: System.out.print("\tsuma:"+nuevo.sumarNumero()); break; case 2: System.out.print("\tresta:"+nuevo.restarNumero()); break; case 3: System.out.print("\tmultiplicacion:"+nuevo.multiplicarNumero()); break; case 4: System.out.print("\tdivision:"+nuevo.dividirNumero()); break; } }while(opc!=5); } private static int menu() { Scanner leer =new Scanner(System.in); int op; 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(); return op; } }
Programa 13
Implementar una clase capica con un atributos (numero) y crear sus mtodos para realizar una aplicacin clase capica. solucion
public class capicua { int numero; public capicua(int numero) { super(); this.numero = numero; } public void escapicua(int tmp) {//METODO DEL NUMERO CAPICUA int temp=numero; int nuevo=0; while(temp>0){ int r=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"); } }
11
Programa 14
Implementar un programa en java crear una clase nmero perfecto con los atributos (lmite inferior, lmite superior) y crear sus mtodos para realizar una aplicacin clase numero perfecto. y hallar la cantidad de nmeros perfectos entre 1 y 1000. Solucin
public class numeroPerfecto { private int li; private int ls; public numeroPerfecto(int li, int ls) { super(); this.li = li; this.ls = ls; } public void HallarNumeroPerfecto(){//METODO PARA HALLAR UN PERFECTO ENTRE LOS li y ls int c=0; for(int i=li;i<=ls;i++){ int suma=0; for(int j=1;j<i;j++){ if(i%j==0) suma=suma+j; } if(suma==i){ c++; System.out.println(i+" ");//muestra la de numero perfecto } } System.out.println("cantidad numero perfecto:"+c); } }
12
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 en el siguiente men. MENU Leer un nmero 2. valor absoluto del nmero 3. salir Elegir una opcin:
Solucin
public class valorAbsoluto { private int numero; //CONTRUCTOR DEL VALOR ABSOLUTO public valorAbsoluto(int numero) { super(); this.numero = numero; } //METODOS DEL VALOR ABSOLUTO public int hallarValorAbsoluto(){ int V; if(numero>0) V=numero; else V=(numero*-1); return V; } }
13
Programa 16
Implementar 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 ser implementado en el siguiente men. MENU 1. Leer minutos a consumir. 2. costo de una llamada 3. salir Elegir una opcin:
Solucin
public class llamada { private double M; public llamada(double m) { M = m; }
14
public double Minutosadicionales(){ double Minadi; if(M>=5) Minadi=M-5; else Minadi=0; return Minadi; } public double costo(){ double C; if(M>2) C=(2+Minutosadicionales()); else C=(M*2); return C; } }
15
Programa 17
Implementar 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 una aplicacin clase llamada y realizar el siguiente men. MENU 1. Leer un tringulo. 2. hallar el permetro del triangulo 3. hallar el rea del tringulo. 4. salir. Elegir una opcin:
Solucin
public class triangulo { private double lado1; private double lado2; private double lado3; public triangulo(){//contructor nativo lado1=1; lado2=1; lado3=1; } public triangulo(double lado1, double lado2, double lado3) { super(); this.lado1 = lado1; this.lado2 = lado2; this.lado3 = lado3; } public double getLado1() { return lado1; } public void setLado1(double lado1) { this.lado1 = lado1; } public double getLado2() { return lado2; } public void setLado2(double lado2) { this.lado2 = lado2; } public double getLado3() { return lado3; } public void setLado3(double lado3) { this.lado3 = lado3; } public double HallarPerimetro() { double per=lado1+lado2+lado3; return per; } public double hallarArea(){ double area,sp; sp=(lado1+lado2+lado3)/2; area =(double) Math.sqrt(sp*(sp-lado1)*(sp-lado2)*(sp-lado3)); return area; } }
16
Programa 18
Desarrollar el siguiente programa en java, crear una clase triangulo rectngulo Con los siguientes atributo (ladoAB, ladoBC) crear los mtodos para calcular la hipotenusa del tringulo rectngulo conociendo las longitudes de sus catetos y Hallar el permetro del tringulo rectngulo. Desarrollar el siguiente men en una aplicacin Para probar los mtodos de un tringulo rectngulo. Men 1. leer lados triangulo rectngulo 2. hallar hipotenusa triangulo rectngulo 3. hallar el permetro del tringulo rectngulo 4. salir. Elegir una opcin:
17
Solucin
public class trectangulo { private double ladoAB; private double ladoBC; public trectangulo(double ladoAB, double ladoBC) { this.ladoAB = ladoAB; this.ladoBC = ladoBC; } public int hallarHipotenusa(){// HALLAR HIPOTENUSA DEL RECTANGULO int hipotenusa; hipotenusa=(int)Math.sqrt(ladoAB*ladoBC+ladoBC*ladoBC); return hipotenusa; } public int perimetroRectangulo(){ int p; p=(int) (ladoAB+ladoBC+hallarHipotenusa()); return p; } }
18
System.out.println("3.hallar el perimetro del triangulo rectangulo "); System.out.println("4.SALIR"); System.out.println("elegir una opccion :"); opcion=leer.nextInt(); }while(opcion<1||opcion>4); return opcion; } }
Programa 19
Implementar un programa en java, para crear una clase circulo con un atributo (radio) y crear los mtodos para hallar el rea circulo y el permetro circulo, luego Realizar una aplicacin en la clase crculo para probar sus mtodos. Solution
public class circulo { private double radio; //constructor public circulo(double radio){ this.radio=radio; } //metodos public double hallarArea(){ double area; area=Math.PI*radio*radio; return area; } public double hallarPerim(){ double p; p=2*Math.PI*radio;; return p; } }
import java.util.Scanner; public class AplicacionCirculo { public static void main(String[] args) { Scanner leer=new Scanner(System.in); double radio; System.out.print("Ingrese el radio: "); radio=leer.nextDouble(); circulo nuevo=new circulo(radio); System.out.print("Area: "+nuevo.hallarArea()); System.out.print("\nPerimetro: "+nuevo.hallarPerim()); } }
19
Programa 20
Disear en java crear una clase fecha con los atributos (da, mes, ao, das), crear un mtodo para mostrar fecha :(da+"/"+mes+"/"+ao) y luego crear un mtodo nueva fecha con un parmetro 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
public class fecha { private int dia; private int mes; private int ao; private int dias; public fecha(int dia,int mes,int ao){ this.dia=dia; this.mes=mes; this.ao=ao; } public void mostrarfecha(){ System.out.println(dia+"/"+mes+"/"+ao); } public void nuevafecha(int dias){ 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); } }
20
Programa 21
Implementar una clase nmero complejo y crear sus mtodos: . Mostrar los nmeros complejos . Sumar . Restar . Multiplicar . Dividir Y desarrollar una aplicacin para probar sus metodos.
Solucin
public class Numero { //NUMERO COMPLEJO private double real; private double imaginaria; public Numero(){ //1+i real=1; imaginaria=1; } public Numero(double real, double imaginaria){ this.real=real; this.imaginaria=imaginaria; } public void mostrar(){ System.out.println(real + "+" + imaginaria+ "i"); } public void sumar(double r,double i){ double sumaReal,sumaImag; sumaReal=real+r; sumaImag=imaginaria+i; System.out.println("Suma: "+sumaReal+"+"+sumaImag+"i"); } public Numero sumar(Numero b){ Numero resultado=new Numero(); resultado. real=real +b.real; resultado.imaginaria=imaginaria+b.imaginaria; return resultado; } public Numero restar(Numero b){ Numero resultado=new Numero(); resultado. real=real -b.real; resultado.imaginaria=imaginaria-b.imaginaria; return resultado; } public Numero multiplicar(Numero b){ Numero resultado=new Numero(); resultado.real=(real *b.real)-(imaginaria*b.imaginaria); //real=ac-bd resultado.imaginaria=(real*b.imaginaria)+(imaginaria*b.real); //imaginaria=ad+bc return resultado; } public Numero dividir(Numero b){ Numero resultado=new Numero();
21
//a+bi //c+di
Programa 22
Implementar 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 crear otra clase rectngulo con los atributos (largo, alto) y crear un mtodo para calcular el rea del rectngulo Luego realizar una clase aplicacin para probar sus mtodos. Solucin
Parte 1 public class circulo { private int radio; public circulo(int radio) { super(); this.radio = radio; } float calculaAreaCirculo(){ return (float) (Math.PI*Math.pow(radio,2)); } public float calcularPerimetroCirculo(){ return (float) (2*(Math.PI)*radio); } } Parte 2 public class rectangulo { private float largo; private float alto;
22
public rectangulo(float largo, float alto) { super(); this.largo = largo; this.alto = alto; } float calculaAreaRectangulo(){ return largo*alto; } } Parte 3
Programa 23
Desarrollar 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 una aplicacin para probar sus mtodos de la clase cubo. solucin
public class cubo { private int lado; public cubo(int lado) { super(); this.lado = lado; } public float calcularVolumen() { return (float)Math.pow(lado, 3); } public float calcularAreaTotal(){ return lado*lado*6; } }
23
Programa 24
Implementar 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 probar sus mtodos de la clase rectngulo. Men 1.-leer un Rectngulo con las coordenadas respectivamente 2.-hallar rea del rectngulo 3.-hallar el permetro del rectngulo 4.-Es rectngulo o es cuadrado 5.-SALIR Elija opcin: Solucin
public class rectangulo { private float x,x1,x2,x3; private float y,y1,y2,y3; public rectangulo(float x, float x1, float x2, float x3, float y, float y1,float y2, float y3) { 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(); } public float getX() { return x; } public void setX(float x) { this.x = x; } public float getY() { return y; }
24
public void setY(float y) { this.y = y; } public float ladoAB(){ float AB; AB=(float) Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)); return AB; } public float ladoBC(){ float BC; BC=(float) Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); return BC; } public float ladoCD(){ float CD; CD=(float) Math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); return CD; } public float ladoAD(){ float AD; AD=(float) Math.sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3)); return AD; } public int ladoAC(){ int AC; AC=(int)Math.sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2)); return AC; } public int ladoBD(){ int BD; BD=(int)Math.sqrt((x3-x)*(x-x3)+(y-y3)*(y-y3)); return BD; } public void esrectangulo() { float float float float float float AB=ladoAB(); BC=ladoBC(); CD=ladoCD(); AD=ladoAD(); AC=ladoAC(); BD=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 un cuadrado"); else System.out.print("cordenadas no forman un rectangulo"); } public float longitud(){ float lon; float AB=(float) Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)); float BC=(float) Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); float CD=(float) Math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); float AD=(float) Math.sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
25
lon=(AB+BC+CD+AD); return lon; } public float perimetro(){ float per; per=(ladoAB()+ladoBC()+ladoCD()+ladoAD()); return per; } public float Area() { float Ar=ladoAB()*ladoBC(); return Ar; } }
26
private static int menu() { Scanner leer=new Scanner(System.in); int op; 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(); return op; } }
Programa 25
Desarrollar el siguiente ejercicio en java, crear una clase cuenta con un atributo (saldo) y crear 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 getSaldo Luego realizar una aplicacin de la clase cuenta con dos instancias de clase cuenta para probar sus mtodos. Solucin
public class Cuenta { private double saldo; public Cuenta()//contructor nativo { saldo=100; } public Cuenta(double monto) { saldo=monto; } public void reintegro(double monto ) { saldo=saldo-monto; } public void ingreso(double monto) { saldo=saldo+monto; } public double getSaldo() { return saldo; } public void setSaldo(double saldo) { this.saldo = saldo; } }
27
Programa 26
crear una clase Practica sabiendo que tiene 4 nmeros, implementar Crear 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 4 nmeros por teclado y probar sus mtodos respectivamente. Solucin
public class Practica { float n1,n2, n3, n4; public float numeroMenor(){ float menor =n1; if (menor>n2) menor=n2; if (menor>n3) menor=n3; if (menor>n4) menor=n4; return menor; } public float numeroMayor(){ float may =n1; if (may<n2) may=n2; if (may<n3) may=n3; if (may<n4) may=n4; return may; } public float calcularPromedio(){ float prom; prom=(float)(n1+n2+n3+n4)/4; return prom; } public int SumaNumero(){ int suma=0; suma=(int) (n1+n2+n3+n4); return suma ; }
28
Programa 27
Implementar 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 banco Implementar un men en la aplicacin de Banco para probar sus mtodos. Men 1. depositar dinero 2. girar dinero o retirar dinero 3. consultar saldo 4. obtener el nmero de transacciones 5. salir Elegir una opcin: Solucin.
public class Banco { private double saldo; private double transacciones; public Banco() { saldo = 0; transacciones = 0; } public void depositar( double monto ) { saldo = saldo + monto;
29
transacciones++; } public void girar(double monto ) { if (saldo-monto< 0){ System.out.println("No tiene saldo suficiente"); return; } saldo = saldo - monto; transacciones++; } public double saldoActual() { return saldo; } public double obtenerTransacciones() { return transacciones; } }
30
Programa 28
Implementar un programa en java debemos , crear una una clase Cuenta Bancaria con los atributos (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. Men 1. ingresar dinero 2. retirar dinero 3. establecer inters o asignar crdito 4. Abonar inters 5. salir Elegir una opcin: Solucin
public class CuentaBancaria { private double interes; private double saldo; public CuentaBancaria() { saldo=0; interes=0; } public void ingresarDeposito(double monto){ saldo=saldo+monto; } public void retirarDinero(double monto){ if (saldo-monto< 0){ System.out.println("No tiene saldo suficiente"); return; } saldo=saldo-monto; } public double SaldoActual(){ return saldo; } public void EstablecerInteres(double inte){ if (inte<0){ System.out.println("El tipo de interes no puede ser negativo"); return; } interes=inte; } public void AbonarInteres(){ saldo = saldo + (saldo*interes/100); } }
31
CuentaBancaria cuenta1 = new CuentaBancaria(); int opc; do{ opc=menu(); switch(opc){ case 1:System.out.println("Ingrese dinero : "); cuenta1.ingresarDeposito(leer.nextDouble()); //ESTO SE CUMPLE SOLO PARA ESTE CASO break; case 2:System.out.println("retirar dinero: "); cuenta1.retirarDinero(leer.nextDouble());//ESTO SE CUMPLE SOLO PARA ESTE CASO break; case 3:System.out.println("consultar saldo: "+cuenta1.SaldoActual()); break; case 4:cuenta1.EstablecerInteres(5); break; case 5:cuenta1.AbonarInteres(); break; } }while(opc!=6); } private static int menu() { Scanner leer=new Scanner(System.in); int op; 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(); return op; } }
Programa 29
Implementar 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
public class libro { static float total=0; static int totallibro=0; private String titulo; private float precio; private int cantidad; public libro(String titulo, float precio, int cantidad) { super(); this.titulo = titulo; this.precio = precio; this.cantidad = cantidad; }
32
public float totalcomprarLibros(){ total=total+precio*cantidad; return total; } public int totaDelibro(){ return totallibro=totallibro+cantidad; } public String getTitulo() { return titulo; } public void setTitulo(String titulo) { this.titulo = titulo; } public float getPrecio() { return precio; } public void setPrecio(float precio) { this.precio = precio; } public int getCantidad() { return cantidad; } public void setCantidad(int cantidad) { this.cantidad = cantidad; } }
33
EJERCICIOS RESUELTOS CON LOS METODOS GET Y SET CON LA POO EN JAVA
Programa 30
Implementar 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 y mostrar la fecha ingresada por teclado. Solucin
public class fecha { private int d; private int m; private int a; public int getD(){ return d; } public void setD (int d){ this.d=d; } public int getM(){ return m; } public void setM (int m){ this.m=m; } public int getA(){ return a; } public void setA (int a){ this.a=a; } }
34
Programa 31
Implementar 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 datos del artculo y luego encontrar la cantidad de artculos a comprar. Y el stock restante de los artculos.
Solucin
public class articulo { private int codigo; private String descripcion; private int cantidad; private int pCosto; private float pVenta; public articulo(){ } public articulo(int codi,String desc,int cant,int pCos,float pVen){ this.codigo=codi; this.descripcion=desc; this.cantidad=cant; this.pCosto=pCos; this.pVenta=pVen; } public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getDescripcion() { return descripcion; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public int getCantidad() { return cantidad; } public void setCantidad(int cantidad) { this.cantidad = cantidad; } public int getpCosto() { return pCosto; } public void setpCosto(int pCosto) { this.pCosto = pCosto; } public float getpVenta() { return pVenta; } public void setpVenta(float pVenta) { this.pVenta = pVenta; } }
35
36
Programa 32
Implementar 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 y los 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 del Empleado. Solucin
public class Empleado { private String nombre; private double sueldo; private int edad; public Empleado(){ } public Empleado(String nombre, double sueldo, int edad) { this.nombre = nombre; this.sueldo = sueldo; this.edad = edad; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public double getSueldo() { return sueldo; } public void setSueldo(double sueldo) { this.sueldo = sueldo; } public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } }
37
System.out.println("sueldo: "+ secretaria1.getSueldo()); System.out.println("edad : "+ secretaria1.getEdad()); //Actualizar valores System.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 33
Implementar una clase alumnos en java, con un atributo (nombre) y las 4 notas respectivamente y desarrollar un mtodo para hallar el promedio de las notas y el otro mtodo de alumno si est aprobado o desaprobado. Crear una aplicacin en el siguiente men para probar sus mtodos. Men 1. leer alumno y notas 2. Mostrar promedio y estado de alumno (aprobado o desaprobado) 3. mostrar notas del alumno 4. Modificar las 4 notas 5. salir Elija una opcin: Solucin
public class alumnos { private String nombre; private float nota1; private float nota2; private float nota3; private float nota4; public alumnos(String nombre, float nota1, float nota2, float nota3, float nota4) { this.nombre = nombre; this.nota1 = nota1; this.nota2 = nota2; this.nota3 = nota3; this.nota4 = nota4; } public String getNombre() { return nombre; } public void setNombre(String nombre) {
38
this.nombre = nombre; } public float getNota1() { return nota1; } public void setNota1(float nota1) { this.nota1 = nota1; } public float getNota2() { return nota2; } public void setNota2(float nota2) { this.nota2 = nota2; } public float getNota3() { return nota3; } public void setNota3(float nota3) { this.nota3 = nota3; } public float getNota4() { return nota4; } public void setNota4(float nota4) { this.nota4 = nota4; } //MTODOS DE INSTANCIA public int promedio(){ int prom; prom=(int)(nota1+nota2+nota3+nota4)/4; return prom; } public String estado(){ if(promedio()>=11) return "APROBADO"; else return "DESAPROBADO"; } }
import java.util.Scanner; public class aplicacionAlumnos { public static void main(String[] args) { Scanner leer= new Scanner(System.in); String nombre; float nota1, nota2, nota3, nota4,nuevaNota; int opc, notaModificar;
39
alumnos nuevo=null;// DECLARACIN DEL OBJETO 'nuevo'=sirve para actualizar valores. do{//inicia el bucle total opc=menu(); switch(opc){ case 1: 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=new alumnos(nombre, nota1, nota2, nota3, nota4); break; case 2: System.out.println("VER PROMEDIO Y ESTADO"); System.out.println("PROMEDIO: "+nuevo.promedio()); System.out.println("ESTADO: "+nuevo.estado()); System.out.println("---------------------"); break; case 3: System.out.println("VER NOTAS"); System.out.println("ALUMNO: "+nuevo.getNombre()); System.out.println("NOTAS: "+nuevo.getNota1()+", "+ nuevo.getNota2()+", "+nuevo.getNota3()+", "+nuevo.getNota4()); break; case 4: System.out.println("modificar notas"); do{ System.out.print("Nota a Modifiar [1-4]: "); notaModificar=leer.nextInt(); }while(notaModificar<1 || notaModificar>4); System.out.print("Nueva Nota: "); nuevaNota= leer.nextFloat(); switch(notaModificar){ case 1: nuevo.setNota1(nuevaNota); break; case 2: nuevo.setNota2(nuevaNota); break; case 3: nuevo.setNota3(nuevaNota); break; case 4: nuevo.setNota4(nuevaNota); break; } }//termina el bucle total }while(opc!=5); } private static int menu() {
40
int op; Scanner leer=new Scanner(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. System.out.println("4. System.out.println("5. System.out.print("\n\t op=leer.nextInt(); return op; } } mostrar notas del alumno"); modificar las 4 notas del alumno"); salir"); ELIJA UNA OPCIN: ");
Programa 34
Se 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 desaprobados 4.-mejor(es) alumno 5.-peor(es) alumnos 6.-ordenar por apellido 7.-ordenar por promedio 8-buscar notas de un alumno nota: crear una clase alumnos con los siguientes atributos (nombre, apellido, nota [], promedio) Solucin
public class Alumnos { private String nombre; private String apellido; private int nota1; private int nota2; private int nota3; private int nota4; private double promedio; public Alumnos(String nombre, String apellido, int nota1, int nota2,int nota3, int nota4,double promedio) { this.nombre = nombre; this.apellido = apellido; this.nota1 = nota1; this.nota2 = nota2; this.nota3 = nota3; this.nota4 = nota4; this.promedio = promedio; } public void mostrarAlumno(){ System.out.println(this.apellido+","+this.nombre+"-->"+this.promedio);}
41
public void hallarPromedio(){ this.promedio=(nota1+nota2+nota3+nota4)/4; } public double getPromedio(){ return promedio; } public String getApellido(){ return apellido; } }
42
System.out.print("apellido"); busca=leer.next(); buscarApellido(lista,n,busca); break; case 9: System.out.print("salir"); break; } }while(opcion!=9); System.out.println("Fin del programa!!"); } private static void buscarApellido(Alumnos[] lista, int n, String busca) { boolean encontrado=false; for(int i=0;i<n;i++){ if(lista[i].getApellido().equals(busca)){ lista[i].mostrarAlumno(); encontrado=true; break; } } if(encontrado==false){ System.out.print("no se encuentra el alumno"); } } private static void ordenarApellido(Alumnos[] lista, int n) { for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(lista[i].getApellido().compareTo(lista[j].getApellido())>0){ Alumnos tmp=lista[i]; lista[i]=lista[j]; lista[j]=tmp; } } private static void ordenarPromedio(Alumnos[] lista, int n) {//ORENAR POR PROMEDIOCOMPARAR PROMEDIO for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(lista[i].getPromedio()<lista[j].getPromedio()){ Alumnos tmp=lista[i]; lista[i]=lista[j]; lista[j]=tmp; } } private static double PromMenor(Alumnos[] lista, int n) { double men= lista[0].getPromedio(); for(int i=1;i<n;i++) if(men>lista[i].getPromedio()) men= lista[i].getPromedio(); return men; } private static double PromMayor(Alumnos[] lista, int n) { double may=lista[0].getPromedio(); for(int i=1;i<n;i++) if(may<lista[i].getPromedio()) may=lista[i].getPromedio(); return may;}
43
private static void registro(Alumnos[] lista, int n) { Scanner leer=new Scanner(System.in); String nombre,apellido; int nota1,nota2,nota3,nota4; double promedio = 0; for(int i=0;i<n;i++){ System.out.println("Nombre: "); nombre=leer.next(); System.out.println("Apellido: "); apellido=leer.next(); System.out.println("Nota1: "); nota1=leer.nextInt(); System.out.println("Nota2: "); nota2=leer.nextInt(); System.out.println("Nota3: "); nota3=leer.nextInt(); System.out.println("Nota4: "); nota4=leer.nextInt(); lista[i]=new Alumnos(nombre,apellido,nota1,nota2,nota3,nota4,promedio); lista[i].hallarPromedio(); } } private static int menu() { Scanner leer=new Scanner(System.in); int opc; System.out.println("1. Registrar las notas. "); System.out.println("2. Mostrar alumnos aprobados."); System.out.println("3. Mostrar alumnos desaprobados."); System.out.println("4. Mejor(es)alumnos."); System.out.println("5. Peor(es)alumnos."); System.out.println("6. Ordenar apellido."); System.out.println("7. Ordenar promedio(Descendentemente)."); System.out.println("8. Buscar notas de un alumno."); System.out.println("9.Salir."); System.out.println("Escoja una opcin: "); opc=leer.nextInt(); return opc; } }
44
45
if(d>0 && d<=maxDia && m<13 && m>0 && a>0){ return true; } else{ return false; } } }
Programa 36
Implementar 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 bisiestos Realizar una aplicacin de la clase fecha que lea los tres nmeros que representan da, mes y ao y probar sus mtodos respectivamente, si la fecha es correcta o incorrecta. Solucion
public class fecha { private int d; private int m; private int a; public fecha(){ } public fecha(int d, int m, int a) { super(); this.d = d; this.m = m; this.a = a; } public int getD() { return d; } public void setD(int d) { this.d = d; } public int getM() { return m; } public void setM(int m) { this.m = m; } public int getA() { return a; } public void setA(int a) { this.a = a; } public boolean fechaCorrecta() { int maxDia = 0; switch(m){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:
46
maxDia=31; break; 4: 6: 9: 11: maxDia=30; break; 2: if((a%4==0 && (a%100!=0))||(a%400==0)){ maxDia=29; } else{ maxDia=28; } break;
} if(d>0 && d<=maxDia && m<13 && m>0 && a>0){ return true; }else{ return false; } } }
47
48
Programa 8
Implementar 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 atributos Realizar una aplicacin de la clase Alumno para probar el mtodo To String. Solucin
public class Alumno { private String curso; private String nivelAcadmico; public Alumno(String curso, String nivelAcadmico) { super(); this.curso = curso; this.nivelAcadmico = nivelAcadmico; } public String getCurso() { return curso; } public void setCurso(String curso) { this.curso = curso; } public String getNivelAcadmico() { return nivelAcadmico; } public void setNivelAcadmico(String nivelAcadmico) { this.nivelAcadmico = nivelAcadmico; } public String toString() { return "Alumno [curso=" + curso + ", nivelAcadmico=" + nivelAcadmico+ "]"; } }
49
Programa 40
Ingresar una frase y mostrar la frase, contar palabras de la frase y decir cuantas Vocales tiene en total la frase todo implementar con funciones desde el main Solucin
import java.util.Scanner; public class cantidadVocalFrase { public static void main(String[] args) { Scanner leer=new Scanner(System.in); String frase; System.out.println("ingrese una frase: "); frase=leer.nextLine(); mostrar(frase); contarPalabras(frase); contarVocal(frase); } private static void mostrar(String frase) { System.out.println("\tmostrar la frase ingresada : "+frase); } private static void contarPalabras(String frase) { int cp=0; for(int i=0;i<frase.length();i++){ if(frase.charAt(i)==' ') cp++;
50
} System.out.println("la frase tiene: "+(cp+1)+" palabras"); } private static void contarVocal(String frase) { int cv=0; for (int i=0;i<frase.length();i++){ if(frase.charAt(i)=='a' || frase.charAt(i)=='e' || frase.charAt(i)=='i' || frase.charAt(i)=='o' || frase.charAt(i)=='u') cv++; } System.out.println("la frase tiene: "+cv+" vocales en total"); } }
Programa 41
Implementar el siguiente programa en java, desarrollar el siguiente men. Men 1. Leer frase 2. Contar palabras 3. Contar vocales de la frase 4. mostrar frase en columna 5. cantidad de veces que se repite la letra a 6. salir Elegir una opccion: Solucin
import java.util.Scanner; public class menu1 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); String frase=null; int opc; do{ opc=menu(); switch(opc){ case 1:System.out.print("\tIngresar una frase : "); frase=leer.nextLine(); mostrar(frase); break; case 2:contarpalabras(frase); break; case 3:contarvocal(frase); break; case 4:System.out.println("mostrar la frase en columna cada palabra"); mostrarcolumna(frase); break; case 5:System.out.println("\ncuantas veces se repite la letra a"); repetirletra(frase); break; case 6:System.out.println("la frase en mayusculas"); mayuscula(frase); break;
51
} }while(opc!=7); } private static void mostrar(String frase) { System.out.println("\tmostrar la frase ingresada : "+frase); } private static void contarpalabras(String frase) { int cp=0; for(int i=0;i<frase.length();i++){ if(frase.charAt(i)==' ') cp++; } System.out.println("\tla frase tiene: "+(cp+1)+" palabras"); } private static void contarvocal(String frase) { int cv=0; for (int i=0;i<frase.length();i++){ if(frase.charAt(i)=='a' || frase.charAt(i)=='e' || frase.charAt(i)=='i' || frase.charAt(i)=='o' || frase.charAt(i)=='u') cv++; } System.out.println("la frase tiene: "+cv+" vocales en total"); } private static void mostrarcolumna(String frase) { for (int i =0;i<frase.length();i++) { System.out.println("\t "+frase.charAt(i)); } } private static void repetirletra(String frase) { int com=0; for (int i =0;i<frase.length();i++){ if(frase.charAt(i)=='a' || frase.charAt(i)=='A') com++; } System.out.println("la letra se repite "+com+" veces"); } private static void mayuscula(String frase) { for (int i =0;i<frase.length();i++){ } System.out.println("\t "+frase.toUpperCase()); } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println("\t1. Leer frase "); System.out.println("\t2. Contar palabras frase "); System.out.println("\t3. Contar vocales frase "); System.out.println("\t4. mostrar frase en columna "); System.out.println("\t5. cantidad de veces que se repite letra a "); System.out.println("\t6. convertir frase a mayusculas "); System.out.println("\t7. salir"); System.out.print("\t5.elegir una opccion:"); op=leer.nextInt(); return op; } }
52
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
import java.util.Scanner; public class menuV { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []v=null; int opc,n=0; do{ opc=menu(); switch(opc){ case 1:System.out.println("ingresar la cantidad de vectores: "); n=leer.nextInt(); v=new int[n]; leer(v); break; case 2: mostrar(v); break; case 3:System.out.println("vectores pares"); mostrarpar(v); break; case 4:System.out.println("vectores impares"); mostrarimpar(v); break; case 5:System.out.println("vectores positivos"); positivos(v,n); break; case 6:System.out.println("vectores negativos"); negativos(v,n); break; case 7:System.out.println("ordenar ascendentemente"); ordenaAscendentemente(v,n); mostrar(v); break; case 8:System.out.println("ordena descendentemente"); ordenaDescendentemente(v,n); mostrar(v); break;
53
case 9:System.out.println("invertir vector"); invertir(v,n); break; case 10:int buscar; System.out.print("elemento a buscar: "); buscar=leer.nextInt(); busquedaSecuencial(v, buscar); break; } }while(opc!=11); } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for(int i=0;i<v.length;i++){ System.out.print("\tv["+(i+1)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) { for (int i = 0; i <v.length; i++) { System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void mostrarpar(int[] v) { for(int i=0;i<v.length;i++) if(v[i]%2==0){ System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void mostrarimpar(int[] v) { for(int i=0;i<v.length;i++) if(v[i]%2!=0){ System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void positivos(int[] v,int n) { for(int i=0;i<n;i++) if(v[i]>0){ System.out.println("\t"+v[i]); } } private static void negativos(int[] v,int n) { for(int i=0;i<n;i++) if(v[i]<0){ System.out.println("\t"+v[i]); } } private static void ordenaAscendentemente(int[] v,int n ) { int aux; for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(v[i]>v[j]){ aux=v[i]; v[i]=v[j]; v[j]=aux; } } private static void ordenaDescendentemente(int[] v, int n) { int aux; for(int i=0;i<n-1;i++)
54
for(int j=i+1;j<n;j++) if(v[i]<v[j]){ aux=v[i]; v[i]=v[j]; v[j]=aux; } } private static void invertir(int[] v, int n) { for(int i=(n-1);i>=0;i--){//invertir un vector System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void busquedaSecuencial(int[] v, int buscar) { for (int i = 0; i < v.length; i++) { if(v[i]==buscar){ System.out.println("Encontrado en la posicion:"+ (i+1)); } } System.out.println(""); } private static int menu() { Scanner leer=new Scanner(System.in); int op1; System.out.println("MENU"); System.out.println("1.leer numero"); System.out.println("2.mostrar numeros"); System.out.println("3.mostrar numeros pares"); System.out.println("4.mostrar numeros impares"); System.out.println("5.mostrar numeros positivos"); System.out.println("6. mostrar numeros negativos"); System.out.println("7.ordenar numeros ascendentemente"); System.out.println("8. mostrar numeros descendentemente"); System.out.println("9.invertir numero ingresado"); System.out.println("10.Buscar un vector"); System.out.println("11.salir"); System.out.print("elegir una opccion :"); op1=leer.nextInt(); return op1; } }
Programa 43
Implementar el siguiente programa java que muestre el siguiente men. Men 1. Leer vector 2. Mostrar vector 3. Mostrar suma de vectores 4. Hallar promedio de vectores 5. Hallar mayor vector 6. Hallar menor vector 7. Hallar suma de vectores pares 8. Hallar suma de vectores impares 9. Hallar moda del vector 10. salir Elegir una opccion:
55
Solucin
import java.util.Scanner; public class MenuVectores { public static void main(String[] args) { Scanner br=new Scanner(System.in); int []v=null; int opc,n=0; do{ opc=menu(); switch(opc){ case 1:System.out.print("ingresar cantidad de elementos de vector: "); n=br.nextInt(); v=new int[n]; leer(v); break; case 2: System.out.println("mostrar los datos de un vector"); mostrar(v); break; case 3: System.out.println("suma de vectores:"+sumavector(v)); break; case 4:System.out.println("promedio del vector:"+promediovector(v)); break; case 5:mayorvector(v); break; case 6: menorvector(v); break; case 7: System.out.println("suma de vectores pares :"+sumavectorPar(v)); break; case 8: System.out.println("suma de vectores impares:"+sumavectorImpar(v)); break; case 9: System.out.println("la moda del vector es:"+modavector(v,n)); break; } }while(opc!=10); } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for (int i = 0; i < v.length; i++) { System.out.print("\nv["+(i+1)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) { for (int i = 0; i < v.length; i++) { System.out.println("\nv["+(i+1)+"]="+v[i]); } System.out.println("mostrar"); } private static int sumavector(int[] v) { int sum=0; for (int i = 0; i < v.length; i++) {
56
sum+=v[i]; } return sum; } private static float promediovector(int[] v) { float prom; prom=(float) sumavector(v)/v.length; return prom; } private static void mayorvector(int[] v) { int may=v[0],psc=0; for(int i=0;i<v.length;i++) if(may<v[i]){ psc=i; may=v[i]; } System.out.println(" mayor vector es:"+may); System.out.println(" la posicion del mayor vector es:"+(psc+1)); } private static void menorvector(int[] v) { int men=v[0],psc=0; for(int i=0;i<v.length;i++) if(men>v[i]){ psc=i; men=v[i]; } System.out.println(" menor vector es:"+men); System.out.println("la posicion del menor vector es:"+(psc+1)); } private static int sumavectorPar(int[] v) { int suma=0; for(int i=0;i<v.length;i++) if(v[i]%2==0){ suma=suma+v[i]; } return suma; } private static int sumavectorImpar(int[] v) { int suma=0; for(int i=0;i<v.length;i++) if(v[i]%2!=0){ suma=suma+v[i]; } return suma; } private static int modavector(int[] v,int n) { int contador=0,aux=0,moda=0; for (int i = 0; i <n-1; i++) { for (int j =i+1; j <n; j++) { if (v[i]==v[j]) { contador++; if (contador>aux) { aux=contador; moda=v[i]; } } } contador=0; } return moda;}
57
private static int menu() { Scanner leer=new Scanner(System.in); int op; 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(); return op; } }
Programa 44
Se tiene un arreglo de nombres de alumnos ,tres arreglos para sus calificaciones y un arreglo para sus promedios; mostrar al primer y ltimo puestos de acuerdo a su promedio, al puesto(s)promedio y mostrar alumno y calificacin ms alta por cada arreglo de calificaciones. Nombre calif1 calif2 calif3 promedio Karla 15 18 10 14.3333 Bety 20 20 16 18.6666 . . . . . . . . . . . . . . . Ronal 14 16 20 16.666 Solucion
import java.util.Scanner; public class examen { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int n; System.out.print("ingresar la cantidad de alumnos:"); n=leer.nextInt(); String alumno[] = new String[n]; float calif1[] = new float[n]; float calif2[] = new float[n]; float calif3[] = new float [n]; float[] p = new float[n]; //p=promedio de calificacion leer(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);
58
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 ( int i= 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)]); } private static void leer(String[] alumno) { Scanner leer = new Scanner(System.in); System.out.println("\nleer "+alumno.length+" alumno:"); for (int i=0;i<alumno.length;i++){ alumno[i]=leer.next(); } } private static void mostrar(String[] alumno) { System.out.print("mostrar "+alumno.length+" alumno:"); for ( int i= 0;i<alumno.length;i++ ){ System.out.print("\n"+alumno[i]); } System.out.println(""); } private static void leer(float[] calif1) { Scanner leer = new Scanner(System.in); for (int i=0;i<calif1.length;i++) calif1[i]=leer.nextInt(); } private static void mostrar(float[] calif1) { System.out.println("Calificaciones registradas:"); for ( int i= 0;i<calif1.length;i++ ){ System.out.print(" "+calif1[i]); } }
59
private static int mejorAlumno(float[] p) { int mayPromedio=0; float may=p[0]; for(int i=0;i<p.length;i++){ if(may<p[i]){ may=p[i]; mayPromedio=i; } } return mayPromedio; } private static int peorAlumno(float[] p) {//peor alumno se halla con la menor nota int menPromedio=0; float men=p[0]; for(int i=0;i<p.length;i++){ if(men>p[i]){ men=p[i]; menPromedio=i; } } return menPromedio; } private static void promedioAlumno(float[] calif1,float[] calif2,float[] calif3,float[] p) { for ( int i= 0;i<p.length;i++ ){ p[i]=(float) ((calif1[i]+calif2[i]+calif3[i])/3); } } }
Programa 45
Implementar el siguiente programa en java, realizar el siguiente men. Men 1. conjunto A 2.conjunto B 3. Union 4.Interseccion. 5.Diferencia de conjuntos :A-B y B-A 6. salir. Elegir una opccion: Solucin
60
import java.util.Scanner; public class Conjunto { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []a=null; int []b=null; int []y= new int[200]; int []t=new int[200]; int []e=new int[200]; int n=0,m=0,opc; do{ opc=menu(); switch(opc){ case 1:System.out.print("\tingrese la cantidad elementos:"); n=leer.nextInt(); a=new int[n]; leer1(a); break; case 2:System.out.print("\tingrese la cantidad de elementos:"); m=leer.nextInt(); b=new int[m]; leer2(b); break; case 3:System.out.print("\tLA UNION DE CONJUNTOS: "); //por teoria union de conjuntos es : //La interseccin de conjuntos ,conjunto A-B ,conjunto B-A System.out.print(""); inter(a,b,e);//interseccion de conjuntos difere(a,b,t,m); //la diferencia de conjuntos A-B difere1(a,b,y,m);//la diferencia de conjuntos B-A break; case 4:System.out.print("\tLA INTRESECCION DE A y B son : "); System.out.print(""); inter(a,b,e); break; case 5: 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; case 6:System.out.println("salir"); break; } }while(opc!=6); } private static void leer1(int[] a) { Scanner leer=new Scanner(System.in); System.out.println("\t\t\tConjunto 1"); for(int i=0;i<a.length;i++){ System.out.print("\t\tv["+(i+1)+"]="); a[i]=leer.nextInt(); }}
61
private static void leer2(int[] b) { Scanner leer=new Scanner(System.in); System.out.println("\t\t\tConjunto 2"); for(int i=0;i<b.length;i++){ System.out.print("\t\tv["+(i+1)+"]="); b[i]=leer.nextInt(); } } private static void inter(int[] a, int[] b, int[] e) { int l=0; for(int i=0;i<a.length;i++){ for (int j=0;j<b.length;j++){ if(a[i]==b[j]){ e[l]=a[i]; l++; } } } for(int i=0;i<l;i++){ System.out.print(" "+e[i]); } } private static void difere(int[] a, int[] b, int[] t,int m){//conjunto int d; d=0; for(int i=0;i<a.length;i++){ for (int j=0;j<b.length;j++){ if (b[j]==a[i]){ d++; j=m; } else d=0; } if(d==0){ System.out.print(" "+a[i]); t[i]=a[i]; } } } private static void difere1(int[] a, int[] b, int[] y,int m){ //conjunto B-A int d; d=0; for(int i=0;i<a.length;i++){ for (int j=0;j<b.length;j++){ if (b[i]==a[j]){ d++; j=m; } else d=0;} if(d==0) { System.out.print(" "+b[i]); y[i]=b[i]; } } }
A-B
62
private static int menu() { Scanner leer=new Scanner(System.in); int op; 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(); return op; } }
Programa 46
Implementar un programa en java, utilizar vectores. Men 1. leer el vector A 2. Mostrar el vector A 3. Mostrar la suma de extremos del vector A 4. Mostrar el vector B= (suma de extremos del vector A)/2 5. salir Elegir una opccion: Solucin
import java.util.Scanner; public class vectorSumaExtremo { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []v=null; int opc; int n=0; double []suma=new double[100]; float []b=new float[50]; do{ opc=menu(); switch(opc){ case 1:System.out.println("ingresar la cantidad de vectores: "); n=leer.nextInt(); v=new int[n]; System.out.println("\tleer el vector A"); leer(v); break; case 2:System.out.println("\tMostrar el vector A"); mostrar(v); break; case 3:System.out.println("\tsuma de extremos del vector A"); SumaVectorExtremo(v,n,suma); break;
63
case 4:System.out.println("\t(Suma de extremos del vector A)/2"); mitadsumaextreno(suma,n,b); break; } }while(opc!=5); } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for(int i=0;i<v.length;i++){ System.out.print("\tA["+(i)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) { for (int i = 0; i <v.length; i++) { System.out.println("\tA["+(i)+"]="+v[i]); } } private static void SumaVectorExtremo(int[] v, int n,double[] suma) { int a; a=n/2; for (int i=0;i<a;i++){ suma[i]=v[i]+v[n-(1+i)]; System.out.println("\tA["+(i)+"]="+suma[i]); if (n%2!=0){ suma[a]= v[a]; System.out.println("\tA["+(a)+"]="+suma[a]); } } } private static void mitadsumaextreno(double[] suma,int n,float[] b) { int a; a=n/2; for(int i=0;i<a;i++){ b[i]= (float) (suma[i]/2) ; System.out.println("\tB["+(i)+"]="+b[i]); if(n%2!=0){ b[a]= (float) (suma[a]/2); System.out.println("\tB["+(a)+"]="+b[a]); } } } private static int menu() { Scanner leer=new Scanner(System.in); int op1; System.out.println("MENU"); System.out.println("1.leer el vector A"); System.out.println("2.Mostrar el vector A"); System.out.println("3.Mostrar la suma de extremos del vector A "); System.out.println("4.Mostrar el vector B=(suma de extremos del vector A)/2"); System.out.println("5.salir"); System.out.print("elegir una opccion :"); op1=leer.nextInt(); return op1; } }
64
Programa 47
Implementar un programa en java, utilizar vectores, no muestra el vector sobrante vea su diferencia con el anterior ejercicio. Men 1. leer el vector A 2. Mostrar el vector A 3. Mostrar la suma de extremos del vector A 4. Mostrar el vector B= (suma de extremos del vector A)/2 5. salir Elegir una opccion: Solucin
import java.util.Scanner; public class vectorSumaExtremo { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []v=null; int opc; int n=0; double []suma=new double[100]; float []b=new float[50]; do{ opc=menu(); switch(opc){ case 1:System.out.println("ingresar la cantidad de vectores: "); n=leer.nextInt(); v=new int[n]; System.out.println("\tleer el vector A"); leer(v); break; case 2:System.out.println("\tMostrar el vector A"); mostrar(v); break; case 3:System.out.println("\tsuma de extremos del vector A"); SumaVectorExtremo(v,n,suma); break; case 4:System.out.println("\t(Suma de extremos del vector A)/2"); mitadsumaextreno(suma,n,b); break; } }while(opc!=5); } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for(int i=0;i<v.length;i++){ System.out.print("\tA["+(i)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) { for (int i = 0; i <v.length; i++) { System.out.println("\tA["+(i)+"]="+v[i]); } }
65
private static void SumaVectorExtremo(int[] v, int n,double[] suma) { int a; a=n/2; for (int i=0;i<a;i++){ suma[i]=v[i]+v[n-(1+i)]; System.out.println("\tA["+(i)+"]="+suma[i]); } } private static void mitadsumaextreno(double[] suma,int n,float[] b) { int a; a=n/2; for(int i=0;i<a;i++){ b[i]= (float) (suma[i]/2) ; System.out.println("\tB["+(i)+"]="+b[i]); } } private static int menu() { Scanner leer=new Scanner(System.in); int op1; System.out.println("MENU"); System.out.println("1.leer el vector A"); System.out.println("2.Mostrar el vector A"); System.out.println("3.Mostrar la suma de extremos del vector A "); System.out.println("4.Mostrar el vector B=(suma de extremos del vector A)/2"); System.out.println("5.salir"); System.out.print("elegir una opccion :"); op1=leer.nextInt(); return op1; } }
Programa 48
Implementar el siguiente men en java. Men 1. leer vector A 2. leer vector B 3. sumar vector los vectores A + B 4. multiplicar los vectores A * B 5. mostrar vectores pares de la suma de vectores. 6. mostrar vectores impares de la suma de vectores. 7. .hallar el promedio de la suma de vectores; promedio=suma[i]/cantidad de nmeros vector A. 8 .salir. Elegir una opccion: Solucin
66
import java.util.*; public class operacionvector { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []a=null; int []b=null; double []suma=new double[100]; float []multiplicar=new float[100]; double []promedio=new double[100]; int n=0,m=0,opc; do{ opc=menu(); switch(opc){ case 1: System.out.println("ingresar cantidad numeros del vector A :"); n=leer.nextInt(); a=new int[n]; leer(a); System.out.println("mostrar vector A"); mostrar(a); break; case 2: System.out.println("ingresar cantidad numeros del vector B :"); m=leer.nextInt(); b=new int[m]; leer(b); System.out.println("mostrar vector B"); mostrar(b); break; case 3:System.out.println("sumar vector A+B"); sumarvector(a,b,suma,n); break; case 4:System.out.println("multiplicar vector A*B"); mul(a,b,multiplicar,n); break; case 5:System.out.println("mostrar pares del vector suma"); paresvectorSuma(suma,n); break; case 6:System.out.println("mostrar imapres del vector suma"); imparesvectorSuma(suma,n); break; case 7:promediovectorSuma(suma,promedio,n); break; } }while(opc!=8); } private static void promediovectorSuma(double[] suma, double[] promedio,int n) { for(int i=0;i<n;i++){ promedio[i]=(float) suma[i]/n; System.out.println("\tpromedio["+i+"]="+promedio[i]); } } private static void imparesvectorSuma(double[] suma,int n) { for(int i=0;i<n;i++) if(suma[i]%2!=0){
67
System.out.println("\tv["+(i+1)+"]="+suma[i]); } } private static void paresvectorSuma(double[] suma,int n) { for(int i=0;i<n;i++) if(suma[i]%2==0){ System.out.println("\tv["+(i+1)+"]="+suma[i]); } } private static void mul(int[] a, int[] b, float[] multiplicar, int n) { for(int i=0;i<n;i++){ multiplicar[i]=a[i]*b[i]; System.out.println("\tm["+i+"]="+multiplicar[i]); } } private static void sumarvector(int[] a, int[] b, double[] suma,int n) { for(int i=0;i<n;i++){ suma[i]=a[i]+b[i]; System.out.println("\tvectorSuma["+i+"]="+suma[i]); } } private static void mostrar(int[] a) { for(int i=0;i<a.length;i++){ System.out.println("\tA["+i+"]="+a[i]); } } private static void leer(int[] a) { Scanner leer=new Scanner(System.in); for(int i=0;i<a.length;i++){ System.out.print("\tA["+i+"]="); a[i]=leer.nextInt(); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println("menu"); System.out.println("1.leer el vector A"); System.out.println("2.leer el vector B"); System.out.println("3.sumar vector los vectores A + B"); System.out.println("4.multiplicar los vectores A * B"); System.out.println("5.mostrar vectores pares de la suma de vectores."); System.out.println("6.mostrar vectores impares de la suma de vectores."); System.out.println("7.hallar el promedio de la suma de vectores : promedio=suma[i]/cantidad de numeros vector A"); System.out.println("8.salir"); System.out.print("elegir una opccion :"); op=leer.nextInt(); return op; } }
68
69
return op; } private static void leerMatriz(int[][] m1, int f, int c) { Scanner leer = new Scanner(System.in); for(int i=0; i<f;i++){ for(int j=0; j<c;j++){ System.out.print("\tm1["+(i+1)+"]["+(i+1)+"]:"); m1[i][j]=leer.nextInt(); } } } private static void mostrarMatriz(int[][] m1, int f, int c) { for(int i=0; i<f;i++){ for(int j=0; j<c;j++){ System.out.print(+m1[i][j]+"\t"); } System.out.println(""); } } private static void MatrizTranspuesta(int[][] m1,int f, int c) { for(int i=0; i<c;i++){ for(int j=0; j<f;j++){ System.out.print("\t"+m1[j][i]); } System.out.println(""); } } private static void mostrarSubmatriz(int[][] m1, int f, int c) { for(int i=0; i<f-1;i++){ for(int j=0; j<c-1;j++){ System.out.print("\t"+m1[i][j]); } System.out.println(""); } } }
Programa 50
Desarrollar el siguiente programa en java ,leer una matriz y mostrar la matriz, encontrar el mayor nmero de la matriz y el menor nmero de la matriz ; encontrar los nmeros pares e impares de la matriz , ordenar fila de la matriz descendentemente y ordena columna de la matriz descendentemente todo implementar con funciones desde el main. solucion
import java.util.Scanner; public class Matriz1 { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int [][]m1=new int[100][100]; int f,c; System.out.println("ingresar las columnas:"); c=leer.nextInt(); System.out.println("ingresar las filas:"); f=leer.nextInt(); leer(m1,f,c); //nota si fuera matriz cuadrada es: f,c=ord ; leer(m1,ord); ord=ingresar la matriz cuadrada. System.out.println("Matriz :");
70
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); } private static void leer(int[][] m1,int f,int c) { Scanner leer = new Scanner(System.in); for(int i = 0; i <f; i++) { for (int j = 0; j <c; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m1[i][j]=leer.nextInt(); } } } private static void mostrar(int[][] m1,int f,int c) { for(int i = 0; i <f; i++) { for (int j = 0; j <c; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(" "); } } private static int mayorMatriz(int[][] m1, int f, int c) { int may=m1[0][0]; for(int i=0;i<f;i++) for(int j=0;j<c;j++) if(may<m1[i][j]){ may=m1[i][j]; } return may; } private static int menorMatriz(int[][] m1, int f, int c) { int men=m1[0][0]; for(int i=0;i<f;i++) for(int j=0;j<c;j++) if(men>m1[i][j]){ men=m1[i][j]; } return men; } private static void par(int[][] m1, int f, int c) { for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ if(m1[i][j]%2==0){ System.out.println("\t"+m1[i][j]); } }
71
} } private static void impar(int[][] m1, int f, int c) { for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ if(m1[i][j]%2!=0){ System.out.println("\t"+m1[i][j]); } } } } private static void ordenaFila(int[][] m1,int f,int c) { int aux; for (int i = 0; i<m1.length; i++) for (int j = 0; j <m1.length-1; j++) //metodo de burbuja for(int k=j+1;k<m1.length;k++) //metodo de burbuja if(m1[i][j]<m1[i][k]){// < ordena descendentemente aux=m1[i][j]; m1[i][j]=m1[i][k]; m1[i][k]=aux; } } private static void ordenaColumna(int[][] m1,int f,int c) { int aux; for (int i = 0; i<m1.length; i++) for (int j = 0; j <m1.length-1; j++) //metodo de burbuja for(int k=j+1;k<m1.length;k++) //metodo de burbuja if(m1[j][i]<m1[k][i]){// < ordena descendentemente aux=m1[j][i]; m1[j][i]=m1[k][i]; m1[k][i]=aux; } } }
Programa 51
Realizar el siguiente men en java. Para una matriz cuadrada. Men 1. leer la primera matriz 2. leer la segunda matriz 3. mostrar la suma de dos matrices cuadradas 4. multiplicar dos matrices cuadradas 5. salir Elegir una opcin: Solucion
import java.util.Scanner; public class MatrizCuadrada { public static void main(String[] args) { Scanner br = new Scanner(System.in); int [][]m1=null; int [][]m2=null; int [][]suma=null; int [][]multiplica=null; int opc,ord=0; do{
72
opc=menu(); switch(opc){ case 1: System.out.print("ingresar una matriz de orden cuadrada:"); ord=br.nextInt(); m1=new int [ord][ord];; m2=new int [ord][ord];; suma= new int [ord][ord]; multiplica=new int[ord][ord]; System.out.println("\tleer matriz 1"); leer1(m1,ord); System.out.println("\tmostrar la matris 1"); mostrar1(m1,ord); break; case 2:System.out.println("\tleer matriz 2"); leer2(m2,ord); System.out.println("\tmostrar la matris 2"); mostrar2(m2,ord); break; case 3:System.out.print("\tla suma de dos matrices son"); sumaM(m1,m2,suma); System.out.println("\t"); mostrarsuma(suma); break; case 4: System.out.println("multiplicar la matriz cuadrada"); matrizMultiplica(m1,m2,ord,multiplica); mostrarMultiplicacion(multiplica); break; } }while(opc!=5); } public static void leer1(int[][] m1, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m1[i][j]=br.nextInt(); } } } public static void leer2(int[][] m2, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m2[i][j]=br.nextInt(); } } } private static void mostrar1(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); }
73
System.out.println(); } } private static void mostrar2(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(); } } public static void sumaM(int[][] m1, int[][] m2, int[][] suma) { for(int i=0;i<suma.length;i++){ for(int j=0;j<suma[i].length;j++){ suma[i][j]=m1[i][j]+m2[i][j]; } } } private static void mostrarsuma(int[][] suma) { for (int i = 0; i <suma.length; i++) { for (int j = 0; j <suma[i].length; j++) { System.out.print(suma[i][j]+"\t "); } System.out.println(" "); } } private static void matrizMultiplica(int[][] m1, int[][] m2, int ord,int[][] multiplica) { for (int i = 0; i <multiplica.length; i++) { for (int j = 0; j <multiplica[i].length; j++) { multiplica[i][j]=0; for(int k=0;k<ord;k++){ multiplica[i][j]=multiplica[i][j]+(m1[i][k]*m2[k][j]); } } } } private static void mostrarMultiplicacion(int[][] multiplica) { for (int i = 0; i <multiplica.length; i++) { for (int j = 0; j <multiplica[i].length; j++) { System.out.print(multiplica[i][j]+"\t "); } System.out.println(" "); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println("menu"); System.out.println("1.leer la primera matriz "); System.out.println("2.leer la segunda matris "); System.out.println("3.mostrar la suma de dos matrices "); System.out.println("4.multiplicar dos matrices cuardradas"); System.out.println("5.salir"); System.out.println("elegir una opccion : "); op=leer.nextInt(); return op; } }
74
Programa 52
Implenetar el siguiente men para las matrices de orden cuadrada. Men 1. leer la primera matriz. 2. leer la segunda matriz. 3. mostrar las suma de dos matrices. 4. mostrar la diagonal principal de la primera matriz 5. 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.
import java.util.Scanner; public class OperacioneMatrizCuarada { public static void main(String[] args) { Scanner br = new Scanner(System.in); int [][]m1=null; int [][]m2=null; int [][]suma=null; int []filas=null; int []cols=null; int opc,ord=0; do{ opc=menu(); switch(opc){ case 1: System.out.print("ingresar una matriz de orden cuadrada:"); ord=br.nextInt(); m1=new int [ord][ord];; m2=new int [ord][ord];; suma= new int [ord][ord]; filas= new int [ord]; cols= new int [ord]; System.out.println("\tleer matriz 1"); leer1(m1,ord); System.out.println("\tmostrar la matris 1"); mostrar1(m1,ord); break; case 2:System.out.println("\tleer matriz 2"); leer2(m2,ord); System.out.println("\tmostrar la matris 2"); mostrar2(m2,ord); break; case 3:System.out.print("\tla suma de dos matrices son"); sumaM(m1,m2,suma); System.out.println("\t"); mostrarsuma(suma); break; case 4: System.out.println("matriz 1"); sumard(m1,m2,ord,cols,filas); break; case 5: System.out.println("matriz 2");
75
sumard1(m1,m2,ord,cols,filas); break; case 6:System.out.println("mostrar "); dprincipal(suma); break; } }while(opc!=7); } public static void leer1(int[][] m1, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m1[i][j]=br.nextInt(); } } } public static void leer2(int[][] m2, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m2[i][j]=br.nextInt(); } } } private static void mostrar1(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(); } } private static void mostrar2(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(); } } public static void sumaM(int[][] m1, int[][] m2, int[][] suma) { for(int i=0;i<suma.length;i++){ for(int j=0;j<suma[i].length;j++){ suma[i][j]=m1[i][j]+m2[i][j]; } } } private static void mostrarsuma(int[][] suma) { for (int i = 0; i <suma.length; i++) { for (int j = 0; j <suma[i].length; j++) { System.out.print(suma[i][j]+"\t "); } System.out.println(" "); } }
76
public static void sumard(int[][] m1, int[][] m2, int ord, int[] cols,int[] filas) { int dp=0; for(int i=0;i<ord;i++) for(int j=0;j<ord;j++){ 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 mostrar diagonal principal de la primera matriz :"+dp); } public static void sumard1(int[][] m1, int[][] m2, int ord, int[] cols,int[] filas) { int dp=0; for(int i=0;i<ord;i++) for(int j=0;j<ord;j++){ filas[i]=filas[i]+m2[i][j]; cols[j]=cols[j]+m2[i][j]; if(i==j) dp=dp+m2[i][j]; } System.out.println("\t mostrar diagonal principal de la segunda matriz :"+dp); } private static void dprincipal(int[][] suma) { int sumaDiagonal=0; System.out.println(); for (int i = 0; i < suma.length; i++) { for (int j = 0; j < suma[i].length; j++) { if (i==j) { sumaDiagonal+=suma[i][j]; } } } System.out.println("diagonal principal de suma de dos matrices: "+sumaDiagonal); } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println("menu"); System.out.println("1.leer la primera matriz "); System.out.println("2.leer la segunda matris "); System.out.println("3.mostrar la suma de dos matrices "); System.out.println("4.mostrar diagonal principal de la primera matriz "); System.out.println("5.mostrar diagonal principal de la segunda matriz "); System.out.println("6.mostrar la diaghonal principal de la suma de dos matrices"); System.out.println("7.salir"); System.out.println("elegir una opccion : "); op=leer.nextInt(); return op; } }
77
Programa 53
Implementar un programa en java que permita generar la siguiente matriz. Ingresar las columnas: 5 Ingresar las filas: 4 Mostrar la matriz:
1 2 3 4 Solucin
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
import java.util.Scanner; public class GeneraMatrizOrdenada { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int [][]matriz=new int[100][100]; int f,c; System.out.println("ingresar las columnas:"); c=leer.nextInt(); System.out.println("ingresar las filas:"); f=leer.nextInt(); leer(matriz,f,c); } private static void leer(int[][] matriz, int f, int c) { int aux=0; //int[][] m1=new int[100][100]; for(int i=0;i<f;i++){//inicia llaves int j = 0; if (j==0){ for(int k=0;k<c;k++){ aux++; matriz[k][i]=aux; } } else{ for(int k=0;k>=0;k--){ matriz[k][i]=aux; aux++;} j=0; aux--; } }//termina llaves System.out.println("mostrar la matrzi:\n "); for(int i=0;i<c;i++){ System.out.print("\n"); for(int e=0;e<f;e++){ System.out.print(" \t "+matriz[i][e]); } } } }
78
Programa 54
Implementar el siguiente men en java, desarrollar el siguiente men para una matriz de orden cuadrada. Implementa con funciones el siguiente men desde el main . Men 1. leer una matriz 2. Mostrar la matriz 3. Mostrar nmeros pares de una matriz 4. Mostrar nmeros impares de una matriz 5. Mostrar diagonal principal de la matriz 6. Mostrar diagonal secundaria de la matriz 7. Mostrar los nmeros mayores de las filas de una matriz 8. Mostrar los nmeros mayores de las columnas de una matriz 9. ordenar filas matrices 10. ordena columnas matrices 11. salir. Elegir una opcin: Solucin
import java.util.Scanner; public class SumaMatriz { public static void main(String[] args) { Scanner br = new Scanner(System.in); int [][]m1=null; int []filas=null; int []cols=null; int []mayf=new int[200]; int []mayc=new int[200]; int opc,ord=0; do{ opc=menu(); switch(opc){ case 1: System.out.print("ingresar una matriz de orden cuadrada:"); ord=br.nextInt(); m1=new int [ord][ord];; filas= new int [ord]; cols= new int [ord]; System.out.println("\tleer matriz 1"); leer1(m1,ord); break; case 2:System.out.println("\tmostrar la matris 1"); mostrar1(m1,ord); break; case 3:System.out.println("los numeros pares de una matriz son:"); par(m1,ord); break; case 4: System.out.println("los numeros impares de una matriz son:"); impar(m1,ord); break; case 5:System.out.println("matriz 1"); dpMatriz(m1,ord,cols,filas); break; case 6:dsMatriz(m1,ord,cols,filas);
79
break; case 7:mayFila(m1,ord,mayf); System.out.println("\t el mayor de filas"); for(int k=0;k<ord;k++) System.out.println("\t"+mayf[k]); break; case 8:mayCols(m1,ord,mayc); System.out.println("\t el mayor de columnas"); for(int k=0;k<ord;k++) //i:no representa filas ni columnas , System.out.println("\t"+mayc[k]); break; case 9:System.out.println("\t ordena filas de la matriz descendentemente"); ordenaFila(m1,ord); mostrar1(m1,ord); break; case 10:System.out.println("\t ordena columnas de la matriz descendentemente"); ordenaCols(m1,ord); mostrar1(m1,ord); break; } }while(opc!=11); } private static void ordenaCols(int[][] m1, int ord) { int aux; for (int i = 0; i<ord; i++) for (int j = 0; j <ord-1; j++) //metodo de burbuja for(int k=j+1;k<ord;k++) //metodo de burbuja if(m1[j][i]<m1[k][i]){// < ordena descendentemente aux=m1[j][i]; m1[j][i]=m1[k][i]; m1[k][i]=aux; } } private static void ordenaFila(int[][] m1, int ord) { int aux; for (int i = 0; i<ord; i++) for (int j = 0; j <ord-1; j++) //metodo de burbuja for(int k=j+1;k<ord;k++) //metodo de burbuja if(m1[i][j]<m1[i][k]){// < ordena descendentemente aux=m1[i][j]; m1[i][j]=m1[i][k]; m1[i][k]=aux; } } private static void mayCols(int[][] m1, int ord, int[] mayc) { for(int k=0;k<ord;k++) //k:es variable de este bucle mayc[k]=m1[0][k]; for(int i=1;i<ord;i++)//i:representa las filas for(int j=0;j<ord;j++){//j:reprenta las columnas if(mayc[j]<m1[i][j]) mayc[j]=m1[i][j]; }} private static void mayFila(int[][] m1, int ord, int[] mayf) { for(int k=0;k<ord;k++) //k:es variable de este bucle
80
mayf[k]=m1[k][0]; for(int i=0;i<ord;i++) for(int j=1;j<ord;j++){ if(mayf[i]<m1[i][j]) mayf[i]=m1[i][j]; } } private static void dsMatriz(int[][] m1, int ord, int[] cols, int[] filas){ int ds=0; for(int i=0;i<ord;i++) //i:son las filas , j:son las columnas for(int j=0;j<ord;j++){ filas[i]=filas[i]+m1[i][j]; cols[j]=cols[j]+m1[i][j]; if(i+j==ord-1) ds=ds+m1[i][j]; } System.out.println("\t diagonal secundaria de la matriz es :"+ds); } private static void impar(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { if(m1[i][j]%2!=0) System.out.println("\t"+m1[i][j]); } } } private static void par(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { if(m1[i][j]%2==0) System.out.println("\t"+m1[i][j]); } } } public static void leer1(int[][] m1, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m1[i][j]=br.nextInt(); } } } private static void mostrar1(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(); } } public static void dpMatriz(int[][] m1, int ord, int[] cols,int[] filas) { int dp=0; for(int i=0;i<ord;i++) for(int j=0;j<ord;j++){
81
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); } private static int menu() { Scanner leer=new Scanner(System.in); int op; 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(); return op; } }
Programa 55
Desarrollar el siguiente men en java implementar con funciones el men desde main. Men 1. leer una matriz 2. mayor suma de filas 3. menor suma de filas 4. mayor suma de columnas 5. menor suma de columnas 6. salir Elegir una opcin: Solucin
*/ import java.util.Scanner; public class Examen { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int [][]m1=new int[100][100]; int f=0,c=0,opc; int []sumaFila=new int[100]; int []sumaColumna=new int[100]; do{ opc=menu(); switch(opc){ case 1: System.out.println("ingreese el numero de filas :"); f=leer.nextInt(); System.out.println("ingreese el numero de columnas :");
82
c=leer.nextInt(); System.out.println("leer la matriz 1:"); leer(m1,f,c); mostrar(m1,f,c); break; case 2: sumaFilaMatriz(m1,f,c,sumaFila);//maysf=la mayor suma de filas System.out.println("\nel mayor de suma de filas"); maySf(sumaFila,f,c);//mostrar el mayor de suma de filas break; case 3: System.out.println("\nel menor de suma de filas"); menSf(sumaFila,f,c);//mostrar el menor de suma de filas break; case 4: sumaColumnaMatriz(m1,f,c,sumaColumna);//maysf=la mayor suma de columna System.out.println("\nel mayor de suma de columnas"); maySc(sumaColumna,f,c);//mostrar el mayor de suma de columnas break; case 5: System.out.println("\nel menor de suma de columnas"); menSc(sumaColumna,f,c);//mostrar el menor de suma de columnas break; } }while(opc!=6); } private static void leer(int[][] m1, int f, int c) { Scanner leer=new Scanner(System.in); for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ System.out.print("v["+(i+1)+"]["+(j+1)+"]="); m1[i][j]=leer.nextInt(); } } } private static void mostrar(int[][] m1, int f, int c) { for(int i=0;i<f;i++){ for(int j=0;j<c;j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(""); } } private static void sumaFilaMatriz(int[][] m1, int f, int c, int[] sumaFila) { for(int i=0;i<f;i++) { int suma=0; for(int j=0;j<c;j++){ suma=suma +m1[i][j]; } sumaFila[i]=suma; } } private static void maySf(int[] sumaFila, int f,int c) { int mayor,contador=0; mayor=sumaFila[0]; for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ if(mayor<sumaFila[i]){ mayor=sumaFila[i];
83
contador=i; } } } System.out.println(" el mayor suma de las filas es : " +mayor+" y esta en la posicion " +(contador+1)); } private static void menSf(int[] sumaFila, int f, int c) { int menor,contador=0; menor=sumaFila[0]; for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ if(menor>sumaFila[i]){ menor=sumaFila[i]; contador=i; } } } System.out.println(" el menor suma de las filas es : " +menor+" y esta en la posicion " +(contador+1)); } private static void sumaColumnaMatriz(int[][] m1, int f, int c,int[] sumaColumna) { for(int j=0;j<c;j++) { int suma=0; for(int i=0;i<f;i++){ suma=suma +m1[i][j]; } sumaColumna[j]=suma; } } private static void maySc(int[] sumaColumna, int f, int c) { int mayor,contador=0; mayor=sumaColumna[0]; for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ if(mayor<sumaColumna[j]){ mayor=sumaColumna[j]; contador=j; } } } System.out.println(" el mayor suma de las columnas es : " +mayor+" y esta en la posicion " +(contador+1)); } private static void menSc(int[] sumaColumna, int f, int c) { int menor,contador=0; menor=sumaColumna[0]; for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ if(menor>sumaColumna[j]){ menor=sumaColumna[j]; contador=j; } } } System.out.println(" el menor suma de las columnas es : " +menor+" y esta en la posicion " +(contador+1)); }
84
private static int menu() { Scanner leer=new Scanner(System.in); int op; 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(); return op; } }
Programa 56
Desarrollar el siguiente men en java implementar con funciones el men desde main. Men 1. leer una matriz 2. mostrar la matriz 3. Intercambiar la primera columna y ltima columna de una matriz 4. Intercambiar la primera fila y ltima fila de una matriz 5. salir Elegir una opcin: Solucin.
import java.util.Scanner; public class matrizA { public static void main(String[] args) { Scanner leer = new Scanner(System.in); int m1[][]= new int[10][10]; int f=0,c=0,opc; do{ opc=menu(); switch(opc){ case 1: System.out.print("Ingrese filas: ");//FILAS f=leer.nextInt(); System.out.print("Ingese columnas: ");//COLUMNAS c=leer.nextInt(); leerMatriz(m1,f,c); break; case 2:System.out.println("\tmostrar la matriz "); mostrarMatriz(m1,f,c); break; case 3:System.out.println("intercambia primera columna y ultima columna"); IntercambiarColumnas(m1,f,c); mostrarMatriz(m1,f,c); break; case 4:System.out.println("intercambia primera fila y ultima fila"); IntercambiarFilas(m1,f,c); mostrarMatriz(m1,f,c); break;
85
} }while(opc!=5); System.out.print("fin del programa");} private static void leerMatriz(int[][] m1, int f, int c) { Scanner leer = new Scanner(System.in); for(int i=0; i<f;i++){ for(int j=0; j<c;j++){ System.out.print("\tm1["+(i+1)+"]["+(i+1)+"]:"); m1[i][j]=leer.nextInt(); } } } private static void mostrarMatriz(int[][] m1, int f, int c) { for(int i=0; i<f;i++){ for(int j=0; j<c;j++){ System.out.print("\t"+m1[i][j]); } System.out.println(); } } private static void IntercambiarColumnas(int[][] m1, int f, int c) { int []variabletemp=new int[1]; variabletemp[0]=0; for(int i=0;i<f;i++){ variabletemp[0]=m1[i][0]; m1[i][0]=m1[i][c-1]; m1[i][c-1]=variabletemp[0]; } } private static void IntercambiarFilas(int[][] m1, int f, int c) { int []variabletemp=new int[1]; variabletemp[0]=0; for(int j=0;j<c;j++){ variabletemp[0]=m1[0][j]; m1[0][j]=m1[f-1][j]; m1[f-1][j]=variabletemp[0]; } } private static int menu() { Scanner leer = new Scanner(System.in); int op; System.out.println("MENU"); System.out.println("1.leer una matriz "); System.out.println("2.mostrar la matriz"); System.out.println("3.intercambiar primera y ultima columna"); System.out.println("4.intercambiar primera y ultima fila"); System.out.println("5.salir"); System.out.print("elegir una opcion:"); op=leer.nextInt(); return op; } }
86
87
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); } private static void leer(int[] v) {//LEER UN VECTOR Scanner leer=new Scanner(System.in); for(int i=0;i<v.length;i++){ System.out.print("\tv["+(i+1)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) {//MOSTRAR EL VECTOR for (int i = 0; i <v.length; i++) { System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static int buscarVector(int[] v, int n, int clave) {//BUSCAR EL VECTOR DE MANEROA SECUENCIAL CON RECURSIVIDAD for(int i=0;i<n;i++) if(v[i]==clave) return 1; return -1; } private static void busquedaBinaria(int[] v, int buscar) { int inicio=0; int fin=v.length-1; int centro=(inicio+fin)/2; while(inicio<=fin && v[centro]!=buscar){ if(buscar<v[centro]){ fin=centro-1; } else{ inicio=centro+1; } centro=(inicio+fin)/2; } if(v[centro]==buscar){ System.out.println("\nElemento encontrado en la posicion: "+(centro+1)+"\n"); } else{ System.out.println("\nElemento no encontrado\n"); } } private static void Burbuja(int[] v, int n) {//ORDENAR EL VECTOR CON LA BURBUJA for (int i = 0; i <n-1; i++) for (int j = i+1; j <n; j++) if (v[i]>v[j]) { int aux =v[i];
88
v[i]=v[j]; v[j]=aux; } } private static void Seleccion(int[] v, int n) {//ORDENAR EL VECTOR POR METODO DE SELECCION int indiceMenor; for (int i = 0; i < n-1; i++) { indiceMenor=i; for (int j = i+1; j < n; j++) if (v[j]<v[indiceMenor]) indiceMenor=j; if (i!=indiceMenor) { int aux=v[i]; v[i]=v[indiceMenor]; v[indiceMenor]=aux; } } } private static void Insercion(int[] v, int n) {//ORDENAR EL VECTOR POR METODO DE INSERCCION int aux,j; for (int i = 1; i <n; i++) { // indices aux=v[i]; j=i; while(j>0 && aux <v[j-1]){ v[j]=v[j-1]; j--; } v[j]=aux; } } private static void Shell(int[] v, int n) {//ORDENAR EL VECTOR POR METODO DE SHELL int intervalo ,i,j,k;// indices intervalo=n/2; while(intervalo >0){ for (i = intervalo ; i < n; i++) { j=i- intervalo; while(j>=0){ k=j + intervalo; if(v[j]<v[k]) j=-1; else{ int aux =v[j]; v[j]=v[k]; v[k]=aux; j=j -intervalo; } } } intervalo=intervalo/2; } } private static void QuierSort(int[] v, int primer, int ultimo) {//ORDENAR EL VECTOR POR METODO DE QUIERSORT int central, pivote,i,j; central =(primer+ ultimo)/2; pivote =v [central]; i=primer;
89
j=ultimo; do{ while(v[i]>pivote)i++; while (v[j]<pivote)j--; if(i<=j){ int aux =v[i]; v[i]=v[j]; v[j]=aux; i++; j--; } }while(i<=j); if(i<ultimo) QuierSort(v,i,ultimo); if(j>primer) QuierSort(v,j,primer); } }
Programa 58
Implementar el siguiente men java Men 1. Leer el vector 2. Mostrar el vector 3. ordenar vector por QuierSort descendentemente 4. ordenar vector por QuierSort ascendentemente. 5. Salir Elegir una opcin: Solucin
import java.util.Scanner; public class menu { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []v=null; int n = 0,opc; do{ opc=menu(); switch(opc){ case 1: System.out.print("\tIngresa la cantidad de vectores: "); n=leer.nextInt(); v=new int[n]; leer(v); break; case 2: System.out.println("\tmostrar vector"); mostrar(v); break; case 3: System.out.println("\tOrdenar vector por QuierSort descendentemente"); QuierSort1(v,0,n-1); mostrar(v); break; case 4:System.out.println("\tordenar vector por QuierSort ascendentemente"); QuierSort2(v,0,n-1); mostrar(v);
90
break; } }while(opc!=5); } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for (int i = 0; i <v.length; i++) { System.out.print("\tv["+(i+1)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) { for (int i = 0; i <v.length; i++) { System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void QuierSort1(int[] v, int primer, int ultimo) { int central, pivote,i,j; central =(primer+ ultimo)/2; pivote =v[central]; i=primer; j=ultimo; do{ while(v[i]>pivote)i++;//Ordenar vector por QuierSort descendentemente while (v[j]<pivote)j--;//Ordenar vector por QuierSort descendentemente if(i<=j){ int aux =v[i]; v[i]=v[j]; v[j]=aux; i++; j--; } }while(i<=j); if(i<ultimo) QuierSort1(v,i,ultimo); if(j>primer) QuierSort1(v,j,primer); } private static void QuierSort2(int[] v, int primer, int ultimo) { int central, pivote,i,j; central =(primer+ ultimo)/2; pivote =v[central]; i=primer; j=ultimo; do{ while(v[i]<pivote)i++;//Ordenar vector por QuierSort ascendenmente while (v[j]>pivote)j--;//Ordenar vector por QuierSort ascendentemente if(i<=j){ int aux =v[i]; v[i]=v[j]; v[j]=aux; i++; j--; } }while(i<=j); if(i<ultimo)
91
QuierSort2(v,i,ultimo); if(j>primer) QuierSort2(v,j,primer); } private static int menu(){ Scanner leer=new Scanner(System.in); int op; System.out.println("\tmenu"); System.out.println("\t1.Leer el vector"); System.out.println("\t2.Mostrar el vector"); System.out.println("\t3.ordenar vector por QuierSort descendentemente"); System.out.println("\t4.ordenar vector por QuierSort descendentemente"); System.out.println("\t5.salir"); System.out.print("\telegir una opccion :"); op=leer.nextInt(); return op; } }
Programa 59
Implementar las siguientes funciones en java desde el main. -Leer un vector y mostrar el vector. -Mostrar vectores pares e impares con funciones -Ordenar vector pares por quiersort descendentemente -Ordenar vector impar por quiersort descendentemente Solucin
import java.util.*; public class Ordenar { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int n; System.out.print("\tIngresa la cantidad de vectores: "); n=leer.nextInt(); int []v=new int[n]; leer(v); System.out.println("\tmostrar vector"); mostrar(v); System.out.println("\tmostrar vector pares"); MostrarPar(v); System.out.println("\tmostrar vector Impar"); MostrarImpar(v); System.out.println("\tordenar vector pares por quiersort descendentemente"); QuierSort1(v,0,n-1); MostrarPar(v); System.out.println("\tordenar vector impares por quiersort descendentemente"); QuierSort2(v,0,n-1); MostrarImpar(v); } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for (int i = 0; i <v.length; i++) { System.out.print("\tv["+(i+1)+"]="); v[i]=leer.nextInt();
92
} } private static void mostrar(int[] v) { for (int i = 0; i <v.length; i++) { System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void MostrarPar(int[] v) { for(int i=0;i<v.length;i++) if(v[i]%2==0){ System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void MostrarImpar(int[] v) { for(int i=0;i<v.length;i++) if(v[i]%2!=0){ System.out.println("\tv["+(i+1)+"]="+v[i]); } } private static void QuierSort1(int[] v, int primer, int ultimo) {//ORDENAR PARES DESCENDENTEMENTE int central, pivote,i,j; central =(primer+ ultimo)/2; pivote =v[central]; i=primer; j=ultimo; do{ while(v[i]>pivote)i++; while (v[j]<pivote)j--; if(i<=j){ int aux =v[i]; v[i]=v[j]; v[j]=aux; i++; j--; } }while(i<=j); if(i<ultimo) QuierSort1(v,i,ultimo); if(j>primer) QuierSort1(v,j,primer); } private static void QuierSort2(int[] v, int primer, int ultimo) {//ORDENA IMPARES DESCENDENTEMENTE int central, pivote,i,j; central =(primer+ ultimo)/2; pivote =v[central]; i=primer; j=ultimo; do{ while(v[i]>pivote)i++; while (v[j]<pivote)j--; if(i<=j){ int aux =v[i]; v[i]=v[j]; v[j]=aux; i++; j--; } }while(i<=j);
93
Programa 60
Se tiene una clase alumnos con los atributos (apellido, nombre, promedio), Se pide implementar una aplicacin que permita: Men 1. registrar alumnos y promedio 2. mostrar lista de alumnos 3. ordenar ascendentemente por apellido (insercin); 4. ordenar descendentemente por promedio (quicksort) 5. buscar la nota de un alumno (bsqueda secuencial) 6. buscar al mejor alumno (bsqueda binaria recursiva) 7. salir Elija una opcin: solucion
public class Alumno { private String apellido; private String nombre; private int promedio; public Alumno(String apellido, String nombre, int promedio) { this.apellido = apellido; this.nombre = nombre; this.promedio = promedio; } public String getApellido() { return apellido; } public void setApellido(String apellido) { this.apellido = apellido; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getPromedio() { return promedio; } public void setPromedio(int promedio) { this.promedio = promedio; } public void mostrar(){ System.out.println(this.apellido+" ,"+this.nombre+"----->"+this.promedio); } }
94
95
if(mayor==elementocentral) return central; else if(mayor>elementocentral) return buscaMejor(lista,central+1,superior,mayor); else return buscaMejor(lista,inferior,central-1,mayor); } private static int mayor(Alumno[] lista, int n) { int mayor=lista[0].getPromedio(); for(int i=0;i<n;i++) if(mayor<lista[i].getPromedio()) mayor=lista[i].getPromedio(); return mayor; } private static int buscarPromedio(Alumno[] lista, int n, String clave) {//busqueda secuencial for(int i=0;i<n;i++) if(clave.equals(lista[i].getApellido())) return 1; return -1; } private static void ordenarpromedio(Alumno[] lista, int primer, int ultimo) {//pivote sirve para comparar comparar los elemtos int pivote,i,j,central; central=(primer+ultimo)/2; pivote=lista[central].getPromedio(); i=primer; j=ultimo; do{ while(lista[i].getPromedio()>pivote) i++; while(lista[i].getPromedio()<pivote) j--; if(i<=j){ Alumno aux=lista[i]; lista[i]=lista[j]; lista[j]=aux; i++; j--; } }while(i<=j); if(i<ultimo) ordenarpromedio(lista,i,ultimo) ; if(j>primer) ordenarpromedio(lista,j,primer); } private static void ordenarApellido(Alumno[] lista, int n) {//EL PRIMER ELEMENTO ESTA OEDENADO String aux; Alumno tmp; int j; for(int i=1;i<n;i++){//OBJETO ORDENADO EMPIEZA EN 1 aux=lista[i].getApellido(); tmp=lista[i]; j=i; while(j>0 && aux.compareTo(lista[j1].getApellido())>0){//SI AUX ESTA ANTES J>0 NO MUEVO EL ELEMENTO lista [j]=lista[j-1]; j--; } lista[j]=tmp;
96
} } private static void registrar(Alumno[] lista, int n) { Scanner leer=new Scanner(System.in); String apellido,nombre; int promedio; for(int i=0;i<n;i++){ System.out.println("\talumno"+(i+1)); System.out.println("Apellido:"); apellido=leer.next(); System.out.println("Nombre:"); nombre=leer.next(); System.out.println("Promedio:"); promedio=leer.nextInt(); lista[i]=new Alumno(apellido,nombre,promedio); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println("1.registrar alumnos"); System.out.println("2.mostrar alumnos"); System.out.println("3.ordenar por apellido"); System.out.println("4.ordenar por promedio"); System.out.println("5.buscar promedio de un alumno"); System.out.println("6.buscar el mejor alumno");//se encuentra el mayor promedio System.out.println("7.salir"); System.out.print("elegir una opccion :"); op=leer.nextInt(); return op; } }
Programa 61
Desarrollar el siguiente programa en java, crear una clase Alumno con atributos (nombre, apellido) y crear una clase Alumno de Derecho y Alumno de Educacin hereda de una Clase Alumno. Calcular el promedio de los alumnos de las facultades de derecho y de educacin sabiendo que: a) Los alumnos de Derecho tienen 3 notas, pero para hallar el promedio se duplica la nota mayor y se consideran 4 notas. b) Los alumnos de educacin tienen 5 notas, pero para hallar el promedio se elimina la nota menor y se consideran 4 notas. Implementar una aplicacin que permita leer alumnos de Derecho y alumnos de Educacin Y mostrar los promedios de los alumnos de derecho y educacin. Solucin Creamos la clase Alumno Creamos la clase Alumno de derecho tiene una herencia de la clase Alumno Creamos la clase Alumno de educacin tiene una herencia de la clase Alumno
97
Primer paso:
public class Alumno { private String nombre; private String apellido; public Alumno(String nombre,String apellido){ this.nombre=nombre; this.apellido=apellido; } public void mostrar(){ System.out.println("Nombre "+this.nombre); System.out.println("Apellido "+this.apellido); } }
Segundo Paso
public class AlumnoDerecho extends Alumno { private double nota1; private double nota2; private double nota3; public AlumnoDerecho(String nombre, String apellido,double nota1, double nota2,double nota3) { super(nombre, apellido);//Con super llamamos a los atributos de //la clase padre this.nota1=nota1; this.nota2=nota2; this.nota3=nota3; } public double promedio(){ return(nota1+nota2+nota3+notaMayor())/4; } private double notaMayor() { double mayor=nota1; if(mayor<nota2); mayor=nota2; if(mayor<nota3); mayor=nota3; return mayor; } }
Tercer paso
public class AlumnoEducacion extends Alumno{ private double notas[];//se utilza este vector para ya no declarar //nota1 ,nota2, nota3 ,nota4,nota5 public AlumnoEducacion(String nombre, String apellido, double[] notas) { super(nombre, apellido); this.notas = notas; } public double promedio(){ return(sumar()-notaMenor())/4; }
98
private double notaMenor() { double menor=notas[0]; for(int i=1;i<5;i++) if (menor>notas[i]) menor=notas[i]; return menor; } private double sumar() { double suma=0; for(int i=0;i<5;i++) suma+=notas[i]; return suma; } }
Cuarto paso
import java.util.Scanner; public class AplicacionEjercicio { public static void main(String[] args) { Scanner leer =new Scanner (System.in); String nombre,apellido; double nota1,nota2,nota3; double []notas=new double[5]; System.out.println("ALUMNO DE DERECHO"); System.out.println("Nombre: "); nombre=leer.next(); System.out.println("Apellido: "); apellido=leer.next(); System.out.println("Nota1: "); nota1=leer.nextDouble(); System.out.println("Nota2: "); nota2=leer.nextDouble(); System.out.println("Nota3: "); nota3=leer.nextDouble(); AlumnoDerecho nuevo=new AlumnoDerecho(nombre, apellido,nota1,nota2, nota3); nuevo.mostrar(); System.out.println("Promedio= "+nuevo.promedio()); System.out.println("ALUMNO DE EDUCACION"); System.out.println("NOMBRE: "); nombre=leer.next(); System.out.println("APELLIDO: "); apellido=leer.next(); for(int i=0;i<5;i++){ System.out.println("Nota "+(i+1)+": "); notas[i]=leer.nextDouble(); } AlumnoEducacion nuevo1=new AlumnoEducacion(nombre,apellido,notas); nuevo1.mostrar(); System.out.println("Promedio= "+nuevo1.promedio()); } }
99
Programa 62
Implementa una clase Padre y crea sus mtodos, La clase Hijo tiene una Herencia de La clase Padre y crear sus mtodos. Realizar una aplicacin para probar sus mtodos. Solution
Parte 1 public class ClasePadre { public boolean valor1 = true; public ClasePadre(int param){ System.out.println("Valor parametro: "+param); } public void imprimir(){ System.out.println("Imprime Metodo del Padre"); } } Parte 2 public class ClaseHijo extends ClasePadre{ public boolean valor1 = false; public ClaseHijo(int param){ super(param+2); System.out.println("Param Hijo: "+param); } public void imprimir1(){ System.out.println(super.valor1); } public void imprimir(){ super.imprimir(); System.out.println("Imprime Metodo del Hijo"); } }
100
Programa 63
Implementa una clase Figura Geomtrica con dos atributos (x, y) y mostrar sus atributos, La clase Cuadrado con un atributo (lado) y tiene una Herencia de La clase Figura Geomtrica y crear su constructor y los mtodos Get y Set .Realizar una aplicacin en java para probar sus mtodos. Solucin Paso 1
public class FiguraGeometrica { private double x; private double y; public FiguraGeometrica(double x,double y){ this.x=x; this.y=y; } public FiguraGeometrica(){ this.x=0; this.y=0; } public void Posicion(){ System.out.println("el valor X: "+x); System.out.println("el valor Y: "+y); } }
Paso 2
public class Cuadrado extends FiguraGeometrica{ private double lado; public Cuadrado(double lado){ super(); this.lado=lado; } public Cuadrado(double x,double y,double lado){ super(x,y); this.lado=lado; } public double getLado() { return lado; } public void setLado(double lado) { this.lado = lado; } }
101
Solucin Parte 1
public interface IVolar { public void acelerar(); public void volar(); public void aterrizar(); }
Parte 2
public class Avion implements IVolar public void acelerar() { } public void volar() { } {
Programa 65
Implementa en java el siguiente programa Crear una clase Triangulo que tiene una interfaz Figura. La clase triangulo cuenta con los siguientes atributos (lado1, lado2, lado 3) y crear los mtodos para calcular el permetro del tringulo y el rea del tringulo. Crear una interface Figura con y mostrar los mtodos que fueron creados. Crear una clase Tringulo Equiltero que tiene una herencia de la clase Triangulo. Luego crear una aplicacin para calcular el rea y el permetro del tringulo equiltero. Solucin
Parte 1
public class Triangulo implements Figura{ private double lado1; private double lado2; private double lado3; public Triangulo(double lado1, double lado2, double lado3) {
102
this.lado1 = lado1; this.lado2 = lado2; this.lado3 = lado3; } public double perimetro() { return lado1+lado2+lado3; }
Parte 2
public interface Figura { //METODOS ABSTRACTOS public double area(); public double perimetro(); }
Parte 3
public class Equilatero extends Triangulo { public Equilatero(double lado1, double lado2, double lado3) { super(lado1, lado2, lado3); } }
Programa 66
Implementa en java el siguiente programa: La clase Crculo tiene un atributo (radio) que tiene una interfaz Figura y crear un mtodo para calcular el rea del crculo. Luego crear una clase Cuadrado con un atributo (lado) que tiene una interfaz Figura y crear un mtodo para calcular el rea del Cuadrado. Crear una interface Figura con los mtodos rea del crculo y rea del cuadrado. Realice una aplicacin del ejercicio para leer el radio del crculo y lado del cuadrado por teclado y prueba sus mtodos respectivamente.
103
Solucin: Parte 1
public class Circulo implements Figura{ private float radio; //Generamos su constructor: public Circulo(float radio) { super(); this.radio = radio; } public float area() { return (float) (Math.PI*radio*radio); } }
Parte 2
public class Cuadrado implements Figura{ //escribimos implements Figura, sale de la interface Figura //vemos que cuadrado nos da error y los aadimos la primera opcion private float lado; //Generamos su constructor: public Cuadrado(float lado) { super(); this.lado = lado; } public float area() { return lado*lado; } }
Parte 3
//Interface public interface Figura { public float area(); }
104
Programa 67
Implementa en java el siguiente programa: Crear una clase Empleado abtracta que tiene una herencia de la interface Por Pagar con atributos (primer nombre , apellido paterno , numero de seguro social ) y crear un mtodo To String para mostrar sus atributos correspondientemente. Crear una clase Empleado Asalariado con un atributo (Salario Semanal) ,que tiene una herencia de Empleado y crear un mtodo ToString para mostrar sus atributos correspondientes. Crear una clase Factura que tiene una herencia Por Pagar ,cuenta con los siguientes atributos (numero de pieza ,descripccion de la pieza ,cantidad , precio por articulo) y crear un mtodo ToString para mostrar sus atributos correspondientes. y crear otro mtodo para obtener el monto de pago . Crear una interface Por Pagar y leer un mtodo obtener el monto de Pago. Luego crear una aplicacin para leer los atributos por teclado de la clase Factura que tiene una herencia por pagar y obtener el monto total de un articulo comprado por una tienda comercial. Solucion del Ejercicio
Primer paso: public abstract class Empleado implements PorPagar{ private String primerNombre; private String apellidoPaterno; private String numeroSeguroSocial; public Empleado(String primerNombre, String apellidoPaterno, String numeroSeguroSocial) { super(); this.primerNombre = primerNombre; this.apellidoPaterno = apellidoPaterno; this.numeroSeguroSocial = numeroSeguroSocial; } public String getPrimerNombre() { return primerNombre; } public void setPrimerNombre(String primerNombre) { this.primerNombre = primerNombre; } public String getApellidoPaterno() { return apellidoPaterno; } public void setApellidoPaterno(String apellidoPaterno) { this.apellidoPaterno = apellidoPaterno; } public String getNumeroSeguroSocial() { return numeroSeguroSocial; } public void setNumeroSeguroSocial(String numeroSeguroSocial) { this.numeroSeguroSocial = numeroSeguroSocial; } public String toString() { return String.format("&s %s\nNumero de seguro social: %s", getPrimerNombre(),getApellidoPaterno(),getNumeroSeguroSocial()); }}
105
Segundo paso public class EmpleadoAsalariado extends Empleado { private double salarioSemanal; public EmpleadoAsalariado(String primerNombre, String apellidoPaterno, String numeroSeguroSocial, double salarioSemanal) { super(primerNombre, apellidoPaterno, numeroSeguroSocial); this.salarioSemanal=salarioSemanal; } public double getSalarioSemanal() { return salarioSemanal; } public void setSalarioSemanal(double salarioSemanal) { this.salarioSemanal = salarioSemanal; } public double obtenerMontoPago() { return getSalarioSemanal(); } public String toString() { return String.format("Empleado asalariado: &s \n%s: s%,.2f", super.toString(), "Salario semanal", getSalarioSemanal()); } } Tercer paso public class Factura implements PorPagar { private String codigoArticulo; private String nombreArticulo; private int cantidad; private double precioPorArticulo; public Factura(String codigoArticulo, String nombreArticulo, int cantidad, double precioPorArticulo) { super(); this.codigoArticulo = codigoArticulo; this.nombreArticulo = nombreArticulo; this.cantidad = cantidad; this.precioPorArticulo = precioPorArticulo; } public String getCodigoArticulo() { return codigoArticulo; } public void setCodigoArticulo(String codigoArticulo) { this.codigoArticulo = codigoArticulo; } public String getNombreArticulo() { return nombreArticulo; } public void setNombreArticulo(String nombreArticulo) { this.nombreArticulo = nombreArticulo; } public int getCantidad() { return cantidad; }
106
public void setCantidad(int cantidad) { this.cantidad = cantidad; } public double getPrecioPorArticulo() { return precioPorArticulo; } public void setPrecioPorArticulo(double precioPorArticulo) { this.precioPorArticulo = precioPorArticulo; } public String toString() { return String.format("%s: \n%s: %s (%s) \n%s: %d \n%s: s%, .2f","factura", "Numero de pieza", getCodigoArticulo(), getNombreArticulo(),"Cantidad", getCantidad(),"Precio por articulo",getPrecioPorArticulo());} public double obtenerMontoPago(){ double monto; monto=getCantidad()*getPrecioPorArticulo(); return monto; } } Cuarto paso: public interface PorPagar { double obtenerMontoPago(); } Quinto paso
de articulos: ");
System.out.print("codigo del articulo: "); codigoArticulo=leer.next(); System.out.print("nombre del articulo: "); nombreArticulo=leer.next(); System.out.print("cantidad de articulo: "); cantidad=leer.nextInt(); System.out.print("precio del Articulo: "); precioPorArticulo=leer.nextInt(); System.out.println("monto de pago de un Articulo: "+cantidad*precioPorArticulo); } } }
107
COLECCIONES EN JAVA
Todas las colecciones se encuentran en el paquete java.util.* Java.util.Collection es la raiz de la jerarqua de las colecciones .Existirn especializaciones que permitan elementos duplicados o no, que permitan ordenar los elementos o no, etc. Esta clase contiene la definicin de todos los mtodos genricos que deben implementar las colecciones.
COLECCIONES ArrayList
108
Ejemplo
import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class PruebaHashMap { public static void main(String[] args) { ArrayList<String> ciudades = new ArrayList<String>(); ciudades.add("Madrid"); ciudades.add("Barcelona"); ciudades.add("Malaga"); ciudades.add("Vigo"); ciudades.add(1,"Sevilla"); ciudades.add("Madrid"); //mostrar la coleccion Iterator<String> it = ciudades.iterator(); while(it.hasNext()) System.out.println("Ciudad: "+it.next());
/*
COLECCIONES HashMap
109
//(orden numerico(por cidigo)) d) Hashtable< String, Integer > alumno = new Hashtable< String, Integer > (); Mtodos de Operaciones Bsicas
size(): cuenta la cantidad de elementos isEmpty() : Devuelve true si el map es vaco :vacea una lista put(clave, valor) :Aade el mapping <clave,valor> keySet() : Todas las claves (devuelve un Set, es decir, sin duplicados). containsKey(cla) : Devuelve true si clave existe dentro de map ,como clave. Ver un ejemplo import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class PruebaHashMap { public static void main(String[] args) { HashMap<Integer, String> codigos = new HashMap<Integer, String>(); codigos.put(01,"Urgente"); codigos.put(02,"Importante"); codigos.put(03,"Normal"); codigos.put(04,"Baja prioridad"); System.out.println("Aleatorio 03: "+codigos.get("03")); System.out.println("Aleatorio 01: "+codigos.get("01")); Set<Integer> s = codigos.keySet(); Iterator<Integer> it = s.iterator(); System.out.println(s); while(it.hasNext()){ Integer aux = (Integer) it.next(); System.out.println(aux+" "+codigos.get(aux)); }}}
110
-Eliminar el departartamento de Cajamarca -Luego Mostramos departamentos. -En los departamentos agregamos todas las ciudades. - En los departamentos agregamos todas las ciudades desde la posicin 2 - Luego Mostrar departamentos. -Luego en los departamentos buscar la primera ubicacin de jaen. -Luego en los departamentos buscar la ultima ubicacin de jaen y finalmente de los departamentos mostrar la subList de cero a nueve.Todo ser implementado desde el main. Solucion import java.util.ArrayList; import java.util.Iterator; public class pruebaArrayList { public static void main(String[] args) { ArrayList<String> departamentos =new ArrayList<String>(); departamentos.add("Cajamarca"); departamentos.add("Trujillo"); departamentos.add("Lima"); departamentos.add("Arequipa"); ArrayList<String> ciudades =new ArrayList<String>(); ciudades.add("Jaen"); ciudades.add("Cutervo"); ciudades.add("Chilete"); System.out.println("\nMostrar departamentos:"); mostrarV(departamentos); System.out.println("insertar Ica en la posicion 2:"); departamentos.add(2, "Ica"); // ( posicion , elemento ) System.out.println("insertar Cajamarca en la posicion 0:"); departamentos.add(0, "Cajamarca"); System.out.println("\nMostrar departamentos actualizados:"); mostrarV(departamentos); System.out.println("\nEliminar el departamento de Ica:"); departamentos.remove("Ica"); Posicion System.out.println("\nEliminar el departamentos de la cero"); departamentos.remove(0); //la posicion
System.out.println("\nEliminar el departartamento de Cajamarca"); departamentos.remove("Cajamarca"); System.out.println("\nMostrar departamentos:"); mostrarV(departamentos); System.out.println(""); //agregamos ciudades a departamentos
111
//tener encuenta que la nueva coleccion debe estar debajo 1coleccion System.out.println("\nAgregamos departamentos a las ciudades"); departamentos.addAll(ciudades); System.out.println("\nAgregamos los departamentos a las ciudades desde una posicion 2"); departamentos.addAll(2,ciudades); de la System.out.println("\nMostrar departamentos"); mostrarV(departamentos); System.out.println(""); //busqueda de elemntos System.out.println("1 ubicacion de Jaen: "+departamentos.indexOf("Jaen")); System.out.println("Ultima ubicacion de Jaen: "+departamentos.lastIndexOf("Jaen")); System.out.println("De los departamentos mostrar la sublista(0,9):"+departamentos.subList(0, 9)); } private static void mostrarV(ArrayList<String> departamentos) { for (Iterator<String> iterator = departamentos.iterator(); iterator.hasNext();) { System.out.print(iterator.next()+"\t"); } System.out.println(); } }
Programa 69
Implementar una interfaz de coleccin en java de tipo ArrayList cursos que me permita aadir los siguientes cursos de Matematica ,lenguaje ,Quimica y Fisica y mostrar cursos aadidos. y realizar las siguientes operaciones a continuacin. -Luego insertar o aadir el curso de algebra desde la posicion 3. -Luego Insertar el curso de trigonometria en la posicion cero -En los cursos aadir el curso de lenguaje. -Mostrar cursos con una funcin. -Aadir el curso de Ingles en la posicon 2 -Luego mostrar cursos con la misma funcin anterior. -Luego eliminar los cursos de Quimica -Luego mostrar cursos. -Eliminar un curso en la posicin tres. -Luego mostrar cursos. Continuando con nuestro programa de colecciones. -Creamos una interfaz coleccin en java del tipo ArrayList lenguajes ,aadimos los siguientes lenguajes:Basic , Pascal , Ada y Alice . -Luego en los cursos aadimos todos los lenguajes y mostrar los cursos adidos. -Luego Aadir todos los cursos de lenguajes desde la posicion uno"); -Luego mostrar cursos y buscamos los siguientes cursos.
112
-De los cursos buscamos el primer Basic. -De los cursos buscamos el ultimo Basic. -Luego en los cursos mostramos la subList desde la posicin 4 hasta la posicin 10 -Luego mostrar cursos sin mtodos ni funciones solo lo mas simple en codigo Solucion
import java.util.ArrayList; import java.util.Iterator; public class PruebaArrayList1 { public static void main(String[] args) { ArrayList<String> cursos = new ArrayList<String>(); cursos.add("Matematica"); cursos.add("Lenguaje"); cursos.add("Quimica"); cursos.add("Fisica"); System.out.println("\nMostrar cursos"); mostrarL(cursos); System.out.println("\nInsertar o aadir el curso de algebra en la posicion 3"); cursos.add(3, "Algebra"); System.out.println("\n Insertar el curso de trigonometria en la posicion cero"); cursos.add(0,"Trigonometria"); //posicion 0 System.out.println("\nAadir el curso de lenguaje"); cursos.add("Lenguaje"); mostrarL(cursos); System.out.println("\nAadir el curso de Ingles en La posicon 2"); cursos.set(2, "Ingles");//posicion 2 hacer con un syso mostrarL(cursos); tambien se lo puede
System.out.println("\nEliminar el curso de Quimica");//Eliminamos cursos cursos.remove("Quimica"); //Tambien se lo puede hacer con el syso mostrarL(cursos); System.out.println("\nEliminar cursos de la Posicion 3"); System.out.println("\nMostrar primera lista de cursos1"); cursos.remove(3); mostrarL(cursos); ArrayList<String> lenguajes = new ArrayList<String>(); System.out.println("\nMostrar segunda lista de cursos:"); lenguajes.add("Basic"); lenguajes.add("Pascal"); lenguajes.add("Ada"); lenguajes.add("Alice"); System.out.println("\nEn los cursos aadir todos los lenguajes"); cursos.addAll(lenguajes); System.out.println("\nMostar cursos"); mostrarL(cursos);
113
System.out.println("\nAadir todos los cursos de lenguajes desde la posicion uno"); cursos.addAll(1, lenguajes); System.out.println("\nMostar cursos:"); mostrarL(cursos); System.out.println("En los cursos Buscar el primer Basic: "+cursos.indexOf("Basic")); System.out.println("En los cursos Buscar el ultimo Basic: "+cursos.lastIndexOf("Basic")); System.out.println("\nSub colecciones: devolver una lista del 4 hasta el 10"); System.out.println(cursos.subList(4, 10)); System.out.println("\nMostar todos los cursos sin funciones:"); System.out.println(cursos); } private static void mostrarL(ArrayList<String> cursos) { for (Iterator<String> iterator = cursos.iterator(); iterator.hasNext();) { System.out.println(iterator.next()+"\t"); } System.out.println(); } }
Programa 70
Implementar una interfaz de coleccin en java de tipo HastSet paises que me permita aadir los siguientes paises :Peru ,Argentina ,Ecuador ,chile ,Paraguay ,Brasil , Argentina y mostrar los paises aadidos. Crear una interfaz coleccin en java del tipo HastSet paises2 que me permita adir los siguientes pases2: Peru ,Brasil ,Argentina y mostrar paises2. Luego creamos una interfaz coleccin en java del tipo HastSet ciudades que me permita adir las siguientes ciudades : Cajamrca ,Celendin ,Jaen ,Chota y mostrar ciudades Luego realizar las siguientes operaciones. -Los paises contienen todos los paises2. -Los paises contienen todas las ciudades: -Contiene todos los paises2 a paises: -Contar la cantidad de pases. -Contar la cantidad de paises2. -Contar la cantidad de ciudades -La lista de pases contienen a los pases Peru. -La lista de pases contienen a las ciudades de Cajamrca. -Luego mostrar pases actuales. -Aadir todas las ciudades a pases. -Luego mostramos pases actuales. -Eliminar todas las ciudades de los pases. -Luego mostrar pases actuales. -Eliminar todas las ciudades de los pases. -Eliminar pases pero retiene a a paises2. -Mostrar pases actuales.
114
-Luego borramos los pases. -Los pases estn vacios. Todo este programa ser utilizando colecciones y ser implementado desde el main. Solucion
import java.util.HashSet; import java.util.Iterator; public class PruebaHastSet { public static void main(String[] args) { HashSet<String> paises = new HashSet<String>(); paises.add("Peru"); paises.add("Argentina"); paises.add("Ecuador"); paises.add("Chile"); paises.add("Paraguay"); paises.add("Brasil"); paises.add("Argentina"); System.out.println("\nMostrar paises "); for(Iterator<String> it= paises.iterator();it.hasNext();){ System.out.println(it.next()+ "\t"); } HashSet<String> paises2 = new HashSet<String>(); paises2.add("Peru"); paises2.add("Brasil"); paises2.add("Argentina"); System.out.println("\nMostrar paises2 "); for(Iterator<String> it1= paises2.iterator();it1.hasNext();){ System.out.println(it1.next()+ "\t"); } HashSet<String> ciudades = new HashSet<String>(); ciudades.add("Cajamarca"); ciudades.add("Celendin"); ciudades.add("Jaen"); ciudades.add("Chota"); System.out.println("\nMostrar ciudades "); for(Iterator<String> it2= ciudades.iterator();it2.hasNext();){ System.out.println(it2.next()+ "\t"); } System.out.println(""); System.out.println("paises contiene a paises2: "+paises.containsAll(paises2)); System.out.println("paises contiene a ciudades: "+paises.containsAll(ciudades)); System.out.println("Aade todos los paises2 a paises: "+paises.addAll(paises2)); System.out.println("cantidad de paises: "+paises.size()); System.out.println("cantidad de paises2: "+paises2.size()); System.out.println("cantidad de ciudades: "+ciudades.size()); System.out.println("existe en la lista de paises los paises Peru: "+paises.contains("Peru")); System.out.println("existe en la lista de paises la ciudad Cajamarca: "+paises.contains("Cajamarca")); System.out.println("\nMostrar paises actuales: "); Iterator<String> it3=paises.iterator(); while (it3.hasNext()) { System.out.print(it3.next()+"\t");
115
ciudades a paises:
System.out.println("\nMostrar paises actuales: "); Iterator<String> it4=paises.iterator(); while (it4.hasNext()) { System.out.print(it4.next()+"\t"); } System.out.println(); System.out.println("elimina ciudades de paises: "+paises.removeAll(ciudades)); System.out.println("\nMostrar paises actuales: "); Iterator<String> it5=paises.iterator(); while (it5.hasNext()) { System.out.print(it5.next()+"\t"); } System.out.println(); System.out.println("elimina ciudades de paises: "+paises.removeAll(ciudades)); System.out.println("elimina paises pero retiene paises2: "+paises.retainAll(paises2)); System.out.println("\nMostrar paises actuales: "); Iterator<String> it6=paises.iterator(); while (it6.hasNext()) { System.out.print(it6.next()+"\t"); } System.out.println("borra paises"); paises.clear(); System.out.println("paises esta vacio? "+paises.isEmpty()); } }
Programa 71
Implementar una interfaz de coleccin en java de tipo LinkedList numero que me permita Leer un numero por teclado y mostrar el numero inverso .Todo ser implementado desde main. Solucion
import java.util.Iterator; import java.util.LinkedList; import java.util.Scanner; public class InvertirNumero { public static void main(String[] args) { Scanner leer=new Scanner(System.in); LinkedList<Integer> numero=new LinkedList<Integer>(); System.out.println("Ingresar un Numero :"); int n=leer.nextInt(); while (n>0) { int r=n%10; numero.add(r); n=n/10; } int numero1=0; for (Iterator<Integer> aux = numero.iterator(); aux.hasNext();) { numero1=numero1*10+aux.next();
116
} System.out.println("Numero invertido:"+numero1); } }
Programa 72
Implementar una interfaz de coleccin en java de tipo LinkedList animales que me permita aadir los siguientes animales:Perro ,Gato ,Tigre , Loro y Tortuga luego realiza las siguientes operaciones. -Mostrar animales con una funcin. -Mostrar en maysculas los animales en una funcion -Luego mostrar lista de animales invertida con una funcin. Solucion.
import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; public class AnimalesMayusculas { public static void main(String[] args) { LinkedList<String> animales = new LinkedList<String>(); animales.add("Perro"); animales.add("Gato"); animales.add("Tigre"); animales.add("Loro"); animales.add("Tortuga"); System.out.println("\nMostrar la lista de animales"); mostrar(animales); System.out.println("\nMostrar en mayusculas los animales"); Mayusculas(animales); System.out.println("\nMostrar lista de animales invertida"); invertir(animales); } private static void mostrar(LinkedList<String> animales) { for (Iterator<String> it = animales.iterator(); it.hasNext();) { System.out.print(it.next()+"\t"); } System.out.println(); } private static void Mayusculas(LinkedList<String> animales) { for (Iterator<String> it1 = animales.iterator(); it1.hasNext();) { String aux = (String) it1.next(); System.out.print(aux.toUpperCase()+"\t"); } } private static void invertir(LinkedList<String> animales) { for(ListIterator<String> it2 = animales.listIterator(animales.size());it2.hasPrevious();) { System.out.print(it2.previous()+"\t"); } } }
117
118
} private static void Mayusculas(ArrayList<String> animales) { for (Iterator<String> it1 = animales.iterator(); it1.hasNext();) { String aux = (String) it1.next(); System.out.println("\t"+aux.toUpperCase()); } } private static void invertir(ArrayList<String> animales) { for(ListIterator<String> it2 = animales.listIterator(animales.size());it2.hasPrevious();) { System.out.println("\t"+it2.previous()); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer animales"); System.out.println("\t[2].mostrar animales"); System.out.println("\t[3].Mostrar en mayusculas los animales"); System.out.println("\t[4].Invertir lista de animales"); System.out.println("\t[5].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
Programa 74
Implementar una interfaz de coleccin en java de tipo LinkedList ciudad que me permita implementar el siguiente men.Todo ser implementado desde el main. Menu 1.Leer ciudades. 2.Mostrar ciudades. 3.Mostrar en maysculas las ciudades. 4.Invertir lista de ciudades . 5.Salir. Elegir una opcin: Solucion
import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; import java.util.Scanner; public class coleccionCiudades { public static void main(String[] args) { Scanner leer=new Scanner(System.in); LinkedList<String> ciudad = new LinkedList<String>(); int opc,n; do{ opc=menu(); switch(opc){ case 1:System.out.print("\tIngresar la cantidad de ciudad: "); n=leer.nextInt();
119
leer(ciudad,n); break; case 2:mostrar(ciudad); break; case 3: System.out.println("\tMostrar en mayusculas las ciudades"); Mayusculas(ciudad); break; case 4:System.out.println("\tMostrar lista de ciudades invertida"); invertir(ciudad); break; } }while(opc!=5); } private static void leer(LinkedList<String> ciudad,int n) { Scanner leer=new Scanner(System.in); for (int i = 0; i < n; i++) { System.out.print("\tciudad "+(i+1)+": "); ciudad.add(leer.next());//leer por teclado ciudad:en una coleccion } } private static void mostrar(LinkedList<String> ciudad) { for (Iterator<String> it = ciudad.iterator(); it.hasNext();) { System.out.print("\t"+it.next()); } System.out.println(); } private static void Mayusculas(LinkedList<String> ciudad) { for (Iterator<String> it1 = ciudad.iterator(); it1.hasNext();) { String aux = (String) it1.next(); System.out.print("\t"+aux.toUpperCase()); } } private static void invertir(LinkedList<String> ciudad) { for(ListIterator<String> it2 = ciudad.listIterator(ciudad.size());it2.hasPrevious();) { System.out.print("\t"+it2.previous()); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer ciudades"); System.out.println("\t[2].Mostrar ciudades"); System.out.println("\t[3].Mostrar en mayusculas las ciudades"); System.out.println("\t[4].Invertir lista de ciudades"); System.out.println("\t[5].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
120
Programa 75
Implementar una interfaz de coleccin en java de tipo HashSet nombre que me permita implementar el siguiente men.Todo ser implementado desde el main. Menu 1.Leer nombres. 2.Mostrar nombres. 3.Mostrar en maysculas los nombres. 4.Salir. Elegir una opcin: Solucion
import java.util.*;//para toda la coleccion se usa solo esta libreria public class ColeccionHashSet { public static void main(String[] args) { Scanner leer=new Scanner(System.in); HashSet<String> nombre =new HashSet<String>(); int opc,n; do{ opc=menu(); switch(opc){ case 1: System.out.print("\tIngresar la cantidad de nombres Alumnos: "); n=leer.nextInt(); leer(nombre,n); break; case 2:mostrar(nombre); break; case 3:System.out.println("\tMostrar lista de nombres invertida"); Mayusculas(nombre); break; } }while(opc!=4); } private static void leer(HashSet<String> nombre, int n) { Scanner leer=new Scanner(System.in); for (int i = 0; i < n; i++) { System.out.print("\tNombre Alumno "+(i+1)+": "); nombre.add(leer.next());//leer por teclado nombres:en una coleccion } } private static void mostrar(HashSet<String> nombre) { for (Iterator<String> it =nombre.iterator(); it.hasNext();) { System.out.println("\t"+it.next()); } System.out.println(); } private static void Mayusculas(HashSet<String> nombre) { for (Iterator<String> it1 =nombre.iterator(); it1.hasNext();) { String aux = (String) it1.next(); System.out.println("\t"+aux.toUpperCase()); } } private static int menu() { Scanner leer=new Scanner(System.in);
121
int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer nombres de alumnos"); System.out.println("\t[2].mostrar nombres de alumnos"); System.out.println("\t[3].Mostrar en mayusculas nombres"); System.out.println("\t[4].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
Programa 76
Implementar una interfaz de coleccin en java de tipo LinkedHashSet pas que me permita implementar el siguiente men.Todo ser implementado desde el main. Menu 1.Leer paises. 2.Mostrar paises 3.Mostrar en maysculas los paises. 4.Salir. Elegir una opcin: Solucion
import java.util.*; public class ColeccionLinkedHashSet { public static void main(String[] args) { Scanner leer=new Scanner(System.in); LinkedHashSet<String> pais =new LinkedHashSet<String>(); int opc,n; do{ opc=menu(); switch(opc){ case 1: System.out.print("\tIngresar la cantidad de paises: "); n=leer.nextInt(); leer(pais,n); break; case 2:mostrar(pais); break; case 3:System.out.println("\tMostrar lista de paises invertida"); Mayusculas(pais); break; } }while(opc!=4); } private static void leer(LinkedHashSet<String> pais, int n) { Scanner leer=new Scanner(System.in); for (int i = 0; i < n; i++) { System.out.print("\tpais "+(i+1)+": "); pais.add(leer.next());//leer por teclado paises:en una coleccion } } private static void mostrar(LinkedHashSet<String> pais) { for (Iterator<String> it =pais.iterator(); it.hasNext();) {
122
System.out.println("\t"+it.next()); } System.out.println(); } private static void Mayusculas(LinkedHashSet<String> pais) { for (Iterator<String> it1 =pais.iterator(); it1.hasNext();) { String aux = (String) it1.next(); System.out.println("\t"+aux.toUpperCase()); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer paises"); System.out.println("\t[2].mostrar paises"); System.out.println("\t[3].Mostrar en Mayusculas paises"); System.out.println("\t[4].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
Programa 77
Implementar una interfaz de coleccin en java de tipo TreeSet libros que me permita implementar el siguiente men. Todo ser implementado desde el main. Menu 1.Leer libros. 2.Mostrar libros. 3.Mostrar en maysculas los libros.. 4.Salir. Elegir una opcin: Solucion
import java.util.*; public class ColeccionTreeSet { public static void main(String[] args) { Scanner leer=new Scanner(System.in); TreeSet<String> libros =new TreeSet<String>(); int opc,n; do{ opc=menu(); switch(opc){ case 1: System.out.print("\tIngresar la cantidad de libros: "); n=leer.nextInt(); leer(libros,n); break; case 2:mostrar(libros); break; case 3:System.out.println("\tMostrar los libros en Mayusculas"); Mayusculas(libros); break; } }while(opc!=4);
123
} private static void leer(TreeSet<String> libros, int n) { Scanner leer=new Scanner(System.in); for (int i = 0; i < n; i++) { System.out.print("\tlibro "+(i+1)+": "); libros.add(leer.next());//leer por teclado nombres:en una coleccion } } private static void mostrar(TreeSet<String> libros) { for (Iterator<String> it =libros.iterator(); it.hasNext();) { System.out.println("\t"+it.next()); } System.out.println(); } private static void Mayusculas(TreeSet<String> libros) { for (Iterator<String> it1 = libros.iterator(); it1.hasNext();) { String aux = (String) it1.next(); System.out.println("\t"+aux.toUpperCase()); } } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer libros"); System.out.println("\t[2].mostrar libros"); System.out.println("\t[3].Mostrar libros en Mayusculas"); System.out.println("\t[4].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
Solucion
import java.util.*; public class PruebaHashMap{
124
public static void main(String[] args) { //HashMap<Integer,String> frutas = new HashMap<Integer, String>(); //LinkedHashMap<Integer,String> frutas = new LinkedHashMap<Integer, String>(); TreeMap<Integer, String> frutas = new TreeMap<Integer, String>(); frutas.put(25, "Papaya"); frutas.put(40, "Mango"); frutas.put(10, "Manzana"); frutas.put(50, "Granadilla"); frutas.put(35, "Chirimoya"); System.out.println("Mostramos algunos elementos"); System.out.println(frutas.get(50)); System.out.println(frutas.get(10)); System.out.println(frutas); //Mostrar el map Set<Integer> s = frutas.keySet(); System.out.println(s);//mostrar solo codigo for(Iterator<Integer> it1 = s.iterator();it1.hasNext();){ Integer aux = (Integer) it1.next(); System.out.println(aux+" "+frutas.get(aux)); } } }
Menu 1.Leer ciudad(nombre ,cdigo). 2.Mostrar ciudad(nombre ,cdigo). 3.Salir Elegir una opcin: Solucion
import java.util.HashMap; import java.util.Iterator; import java.util.Scanner; import java.util.Set; public class ColeccionHashMap { public static void main(String[] args) { Scanner leer=new Scanner(System.in); HashMap<String,Integer> ciudad =new HashMap<String, Integer>(); int opc,n; do{ opc=menu(); switch(opc){
125
case 1:System.out.print("\tIngresar la cantidad ciudades:"); n=leer.nextInt(); leerN(ciudad,n); break; case 2: mostrarN(ciudad); break; } }while(opc!=3); } private static void leerN(HashMap<String, Integer> ciudad, int n) { Scanner leer=new Scanner(System.in); for (int i = 1; i <=n; i++) { System.out.println("\tAlumno:"+(i)); System.out.print("\tNombre:"); String nom=leer.next(); System.out.print("\tcodigo:"); int not=leer.nextInt(); ciudad.put(nom, not); } } private static void mostrarN(HashMap<String, Integer> ciudad) { System.out.println("\tNOMBRE"+"\t"+"CODIGO"); Set<String> s=ciudad.keySet();//la llave son los nombres for (Iterator<String> it = s.iterator(); it.hasNext();) { String temp = (String) it.next(); System.out.println("\t"+temp+"\t"+ciudad.get(temp)); } System.out.println(); } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer ciudadades(nombre,codigo)"); System.out.println("\t[2].mostrar ciudadades(nombre,codigo)"); System.out.println("\t[3].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
Programa 80
Implementar una interfaz de coleccin en java de tipo Hashtable frutas que me permita implementar el siguiente men. Todo ser implementado desde el main. Menu 1.Leer frutas(nombre ,cdigo). 2.Mostrar frutas(nombre ,cdigo). 3.Salir Elegir una opcin: Solucion
126
import java.util.Hashtable; import java.util.Iterator; import java.util.Scanner; import java.util.Set; public class ColeccionHashtable{ public static void main(String[] args) { Scanner leer=new Scanner(System.in); Hashtable<String,Integer> frutas =new Hashtable<String,Integer>(); int opc,n; do{ opc=menu(); switch(opc){ case 1:System.out.print("\tIngresar la cantidad frutas:"); n=leer.nextInt(); leerN(frutas,n); break; case 2: mostrarN(frutas); break; } }while(opc!=3); } private static void leerN(Hashtable<String, Integer> frutas, int n) { Scanner leer=new Scanner(System.in); for (int i = 1; i <=n; i++) { System.out.println("\tFrutas:"+(i)); System.out.print("\tNombre:"); String nom=leer.next(); System.out.print("\tcodigo:"); int cod=leer.nextInt(); frutas.put(nom, cod); } } private static void mostrarN(Hashtable<String, Integer> frutas) { System.out.println("\tNOMBRE"+"\t"+"CODIGO"); Set<String> s=frutas.keySet();//la llave son los nombres for (Iterator<String> it = s.iterator(); it.hasNext();) { String temp = (String) it.next(); System.out.println("\t"+temp+"\t"+frutas.get(temp)); } System.out.println(); } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer frutas(nombre,codigo)"); System.out.println("\t[2].mostrar frutas(nombre,codigo)"); System.out.println("\t[3].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
127
Programa 81
Implementar una interfaz de coleccin en java de tipo LinkedHashMap alumnos que me permita implementar el siguiente men. Todo ser implementado desde el main. Menu 1.Leer alumnos(nombre ,nota). 2.Mostrar alumnos(nombre ,nota). 3.Salir Elegir una opcin: Solucion
import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Scanner; import java.util.Set; public class ColeccionLinkedHashMap { public static void main(String[] args) { Scanner leer=new Scanner(System.in);
LinkedHashMap<String,Integer> alumnos =new LinkedHashMap<String,Integer>();
int opc,n; do{ opc=menu(); switch(opc){ case 1:System.out.print("\tIngresar la cantidad alumnos:"); n=leer.nextInt(); leerN(alumnos,n); break; case 2: mostrarN(alumnos); break; } }while(opc!=3); } private static void leerN(LinkedHashMap<String, Integer> frutas, int n) { Scanner leer=new Scanner(System.in); for (int i = 1; i <=n; i++) { System.out.println("\tAlumno:"+(i)); System.out.print("\tNombre:"); String nom=leer.next(); System.out.print("\tnota:"); int not=leer.nextInt(); frutas.put(nom, not); } } private static void mostrarN(LinkedHashMap<String, Integer> frutas) { System.out.println("\tNOMBRE"+"\t"+"NOTA"); Set<String> s=frutas.keySet();//la llave son los nombres for (Iterator<String> it = s.iterator(); it.hasNext();) { String temp = (String) it.next(); System.out.println("\t"+temp+"\t"+frutas.get(temp)); } System.out.println(); }
128
private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer alumnos(nombre,nota)"); System.out.println("\t[2].mostrar alumnos(nombre,nota)"); System.out.println("\t[3].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
Programa 82
Implementar una interfaz de coleccin en java de tipo TreeMap celular que me permita implementar el siguiente men. Todo ser implementado desde el main. Menu 1.Leer celulares (nombre ,nota). 2.Mostrar celular (nombre ,nota). 3.Salir Elegir una opcin: Solucion
import java.util.Iterator; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; public class coleccionTreeMap { public static void main(String[] args) { Scanner leer=new Scanner(System.in); TreeMap<String,Integer> celular=new TreeMap<String,Integer>(); int opc,n; do{ opc=menu(); switch(opc){ case 1:System.out.print("\tIngresar la cantidad de celulares:"); n=leer.nextInt(); leerN(celular,n); break; case 2: mostrarN(celular); break; } }while(opc!=3); } private static void leerN(TreeMap<String, Integer> celular, int n) { Scanner leer=new Scanner(System.in); for (int i = 1; i <=n; i++) { System.out.println("\tcelular:"+(i)); System.out.print("\tNombre:"); String nom=leer.next(); System.out.print("\tnumero de celular:"); int numero=leer.nextInt(); celular.put(nom, numero); } } private static void mostrarN(TreeMap<String, Integer> celular) {
129
System.out.println("\t\tNOMBRE"+"\t\t"+"NUMERO DE CELULAR"); Set<String> s=celular.keySet();//la llave son los nombres for (Iterator<String> it = s.iterator(); it.hasNext();) { String temp = (String) it.next(); System.out.println("\t\t"+temp+"\t\t"+celular.get(temp)); } System.out.println(); } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer celulares(nombre,numero de celular)"); System.out.println("\t[2].mostrar celulares(nombre,numero de celular)"); System.out.println("\t[3].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } }
130
leerV1(v1,n1); System.out.println("Mostrar vector A: "); mostrar1(v1); System.out.println(); System.out.print("cantidad de elementos del vector B: "); int n2=sc.nextInt(); int[] v2=new int[n2]; System.out.println("leer vector B: "); leerV2(v2,n2); System.out.println("Mostrar vector B: "); mostrar2(v2); System.out.println(); System.out.println("Los vectores ordenados son: "); System.out.println("Ordenar vector A ascendentemente: "); Arrays.sort(v1);//ordena ascendentemente mostrar1(v1); System.out.println("Ordenar vector B ascendentemente: "); Arrays.sort(v2);//ordena ascendentemente mostrar1(v2); System.out.println(); int ubicacion=0; System.out.println("Buscar un numero en el vector A "); System.out.println("Ingrese numero a buscar: "); int x=sc.nextInt(); ubicacion=(Arrays.binarySearch(v1, x)); if (ubicacion>=0) { System.out.println("Encontrado en la posicion: "+(ubicacion));//nota : aumentamo a la ubicacin mas uno cuando vector
131
Programa 84
Desarrollar una interfaz de coleccin en java con vectores e implementar desde el main las siguientes operaciones -Leer vector A con n1 elementos llamando a una funcin. -Mostrar el vector A con una coleccin. -Leer el vector B con n2 elementos llamando a una funcin. -Mostrar el vector B con una coleccin. -Ordenar el vector A ascendentemente con una coleccin. -Ordenar el vector B ascendentemente con una coleccin. Solucion
import java.util.Arrays; import java.util.Scanner; public class Intercala { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("cantidad de elementos del vector A: "); int n1=sc.nextInt(); int[] v1=new int[n1]; System.out.println(" leer vector A: "); leerV1(v1,n1); System.out.println("Mostrar vector A: "); System.out.println(Arrays.toString(v1));//Mostrar el vector con coleccion System.out.println(); System.out.print("cantidad de elementos del vector B: "); int n2=sc.nextInt(); int[] v2=new int[n2]; System.out.println("leer vector B: "); leerV2(v2,n2); System.out.println("Mostrar vector B: "); System.out.println(Arrays.toString(v2));//Mostrar el vector con coleccion System.out.println(); System.out.println("Los vectores ordenados son: "); System.out.println("Ordenar vector A ascendentemente: "); Arrays.sort(v1);//ordena ascendentemente System.out.println(Arrays.toString(v1)); System.out.println("Ordenar vector B ascendentemente: "); Arrays.sort(v2);//ordena ascendentemente System.out.println(Arrays.toString(v2)); } private static void leerV1(int[] v1,int n1) { Scanner leer = new Scanner(System.in); for (int i = 0; i < v1.length; i++) { v1[i]=leer.nextInt(); } }
132
private static void leerV2(int[] v2,int n2) { Scanner leer = new Scanner(System.in); for (int i = 0; i < v2.length; i++) { v2[i]=leer.nextInt(); } } }
133
System.out.println(amigos); break; case 4: System.out.println("Elemento a buscar:"); String b=sc.next(); if(amigos.indexOf(b)<0){ System.out.println("Elemento no encontrado"); } else{ System.out.println("Encontado en la posicion "+(amigos.indexOf(b))); } break; case 5: amigos.clear(); break; } }while(opc!=6); } private static int menu() { Scanner leer= new Scanner(System.in); int op; System.out.println("\t\tMENU PRINCIPAL"); System.out.println("\t[1] Mostrar amigos"); System.out.println("\t[2] Elimina al inicio amigos"); System.out.println("\t[3] Elimina al final amigos"); System.out.println("\t[4] Buscar amigos"); System.out.println("\t[5] Borrar Lista de amigos ingresados"); System.out.println("\t[6] Salir"); System.out.print("\topcion: "); op=leer.nextInt(); return op; } }
Programa 86
Implementar una interfaz de coleccin en java de tipo LinkedList numeros que me permita implementar el siguiente men desde el main, utilizar listas enlazadas con colecciones. Menu 1.Leer numeros 2.Mostrar nmeros. 3.Insertar al inicio nmeros. 4.Insertar al final nmeros. 5.Insertar en una posicin un numero. 6.Buscar un numero. 7.Borrar lista de nmeros. 8.salir Elegir una opcin: Solucion
import java.util.Iterator; import java.util.LinkedList; import java.util.Scanner; public class ListaEnlazadaVector { public static void main(String[] args) {
134
Scanner leer=new Scanner(System.in); LinkedList<String> numeros =new LinkedList<String>();//NUMBERS AGRUPA A TODOS LOS NUMERO ENTERO Y DECIMALES int opcion=0,n = 0 ; do { opcion=menu(); //esto hace que lo que se eliga se guarde en opcion switch (opcion) { case 1:System.out.print("\tIngresar la cantidad de numeros: "); n=leer.nextInt(); leer(numeros,n); break; case 2: mostrar(numeros); break; case 3: System.out.print("Numero a insertar al inicio:"); String x=leer.next(); numeros.add(0, x); mostrar(numeros); break; case 4: System.out.print("Numero a insertar al final:"); String y=leer.next(); numeros.add(y); mostrar(numeros); break; case 5: System.out.print("Ingresar numero :"); String z=leer.next(); System.out.print("Ubico una posicion a insertar numero:"); int p=leer.nextInt(); numeros.add((p), z); mostrar(numeros); break; case 6: System.out.println("Elemento a buscar:"); String b=leer.next(); if(numeros.indexOf(b)<0){ System.out.println("Elemento no encontrado"); } else{ System.out.println("Encontado en la posicion "+(numeros.indexOf(b))); } break; case 7: numeros.clear(); break; } } while (opcion !=8); } private static int menu() { Scanner leer=new Scanner(System.in); int op; System.out.println(); System.out.println("\tMenu"); System.out.println("\t[1].leer numeros"); System.out.println("\t[2].mostrar numeros"); System.out.println("\t[3].Insertar al Inicio numeros");
135
System.out.println("\t[4].Insertar al final numeros"); System.out.println("\t[5].Insertar en una posicion un Numero"); System.out.println("\t[6].Buscar un numero"); System.out.println("\t[7].Borrar Lista de numeros"); System.out.println("\t[8].salir"); System.out.print("\telegir una opccion:"); op=leer.nextInt(); return op; } private static void leer(LinkedList<String> numeros, int n) { Scanner leer=new Scanner(System.in); for (int i = 0; i < n; i++) { System.out.print("\tnumero "+(i+1)+":"); numeros.add(leer.next());//leer por teclado numeros:en una coleccion } } private static void mostrar(LinkedList<String> numeros) { for (Iterator<String> it = numeros.iterator(); it.hasNext();) { System.out.print("\t"+it.next()); } System.out.println(); } }
136
import java.util.Scanner; public class Menu { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int []v=null; int [][]m1=null; int [][]m2=null; int [][]suma=null; int []filas=null; int []cols=null; int opc,n=0,ord=0; do{ opc=menu(); switch(opc){ case 1:System.out.print("ingresar cantidad de elementos de vector: "); n=leer.nextInt(); v=new int[n]; leer(v); break; case 2: System.out.println("mostrar los datos de un vector"); mostrar(v); break; case 3: System.out.println("suma de vectores:"+sumavector(v)); break; case 4:System.out.println("promedio del vector:"+promediovector(v)); break; case 5:mayorvector(v); break; case 6:System.out.println("la moda del vector es:"+modavector(v,n)); break; case 7:System.out.print("ingresar una matriz de orden cuadrada:"); ord=leer.nextInt(); m1=new int [ord][ord];; m2=new int [ord][ord];; suma= new int [ord][ord]; filas= new int [ord]; cols= new int [ord]; System.out.println("\tleer matriz 1"); leer1(m1,ord); System.out.println("\tmostrar la matris 1"); mostrar1(m1,ord); break; case 8: System.out.println("\tleer matriz 2"); leer2(m2,ord); System.out.println("\tmostrar la matris 2"); mostrar2(m2,ord); break; case 9: System.out.print("\tla suma de dos matrices son"); sumaM(m1,m2,suma); System.out.println("\t"); mostrarsuma(suma); break;
137
case 10:System.out.println("diagonal principal de la suma de dos matrices "); dprincipal(suma); break; } }while(opc!=11); } private static int menu() { Scanner leer=new Scanner(System.in); int op; 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.moda del vector :"); System.out.println("7.leer la primera matriz :"); System.out.println("8.leer la segunda matriz"); System.out.println("9.la suma de dos matrices:"); System.out.println("10.diagonal principal de la suma de dos matrices :"); System.out.println("11.salir :"); System.out.println("elegir una opccion:"); op=leer.nextInt(); return op; } private static void leer(int[] v) { Scanner leer=new Scanner(System.in); for (int i = 0; i < v.length; i++) { System.out.print("\nv["+(i+1)+"]="); v[i]=leer.nextInt(); } } private static void mostrar(int[] v) { for (int i = 0; i < v.length; i++) { System.out.println("\nv["+(i+1)+"]="+v[i]); } System.out.println("mostrar"); } private static int sumavector(int[] v) { int sum=0; for (int i = 0; i < v.length; i++) { sum+=v[i]; } return sum; } private static float promediovector(int[] v) { float prom; prom=(float) sumavector(v)/v.length; return prom; } private static void mayorvector(int[] v) { int may=v[0],psc=0; for(int i=0;i<v.length;i++) if(may<v[i]){ psc=i; may=v[i]; } System.out.println(" menor vector es:"+may); System.out.println("la posicion del menor vector es:"+(psc+1)); }
138
private static int modavector(int[] v,int n) { int contador=0,aux=0,moda=0; for (int i = 0; i <n-1; i++) { for (int j =i+1; j <n; j++) { if (v[i]==v[j]) { contador++; if (contador>aux) { aux=contador; moda=v[i]; } } } contador=0; } return moda; } public static void leer1(int[][] m1, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m1[i][j]=br.nextInt(); } } } public static void leer2(int[][] m2, int ord) { Scanner br = new Scanner(System.in); for(int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print("M["+(i+1)+"]["+(j+1)+"]="); m2[i][j]=br.nextInt(); } } } private static void mostrar1(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(); } } private static void mostrar2(int[][] m1, int ord) { for (int i = 0; i <ord; i++) { for (int j = 0; j < ord; j++) { System.out.print(m1[i][j]+"\t"); } System.out.println(); } } public static void sumaM(int[][] m1, int[][] m2, int[][] suma) { for(int i=0;i<suma.length;i++){ for(int j=0;j<suma[i].length;j++){ suma[i][j]=m1[i][j]+m2[i][j]; } } }
139
private static void mostrarsuma(int[][] suma) { for (int i = 0; i <suma.length; i++) { for (int j = 0; j <suma[i].length; j++) { System.out.print(suma[i][j]+"\t "); } System.out.println(" "); } } private static void dprincipal(int[][] suma) { int sumaDiagonal=0; System.out.println(); for (int i = 0; i < suma.length; i++) { for (int j = 0; j < suma[i].length; j++) { if (i==j) { sumaDiagonal+=suma[i][j]; } } } System.out.println("diagonal principal de suma de dos matrices: "+sumaDiagonal); } }
Programa 88
Implementar el siguiente programa en java. Crear una clase Cono con los siguientes atributos (radio, altura) y crea sus mtodos para calcular su rea y volumen del cono. Crear una clase Esfera con los siguientes atributos (radio) y crear un mtodo para calcular su rea y volumen de la esfera. Luego crear una clase aplicacin para probar sus respectivos mtodos desde el main.
140
return h; } public void setH(float h) { this.h = h; } public float calcularArea() { float g=(float) Math.sqrt(h*h + r*r); return (float) (Math.PI*r*(r + 2*g)); } public float calcularVolumen() { return (float) (Math.PI*r*r*h/3); } }
Segunda parte:
public class Esfera { private float r; public Esfera() { } public Esfera(float r) { super(); this.r = r; } public float getR() { return r; } public void setR(float r) { this.r = r; } public float calcularArea() { return (float) (4*Math.PI*r*r); } public float calcularVolumen() { return (float) (4*Math.PI*Math.pow(r, 3)/3); } }
141
+ + + +
142
4. Una empresa dispone de 3 almacenes de grandes contenedores. El primer almacn tiene una capacidad de 2 contenedores, el segundo de 4 y el tercero de 8. El primero se encuentra muy cerca de una va (carretera) principal, el segundo se encuentra a 10 kilmetros de la carretera principal y el tercero a 20 kilmetros. Los camioneros o bien llegan con un contenedor (uno solo por camin) o bien llegan con el camin vaco con la intencin de llevarse un contenedor. En cualquier caso, siempre ha existido un vigilante al comienzo del camino que lleva a los almacenes que le indicaba a cada camionero a que almacn deba dirigirse a depositar el contenedor que traa o a recoger un contenedor, en caso de llegar sin carga. El vigilante, con muy buena lgica, siempre ha indicado a los camioneros el almacn ms cercano donde podan realizar la operacin de carga o descarga, evitando de esta manera largos trayectos de ida y vuelta a los almacenes ms lejanos cuando estos desplazamientos no eran necesarios. Como el buen vigilante est a punto de jubilarse, nos encargan la realizacin de un programa informtico que, de forma automtica indique a los camioneros el almacn al que deben dirigirse minimizando los costes de combustible y tiempo. Los camioneros, una vez que llegan a la barrera situada al comienzo del camino, pulsan un botn (m) si van a meter un contenedor, o un botn (s) si lo van a sacar. El programa les indicar en un panel el almacn (1, 2 3) al que se deben dirigir. (5 ptos.)
143
public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getMarca() { return marca; } public void setMarca(String marca) { this.marca = marca; } public String getGarantia() { return garantia; } public void setGarantia(String garantia) { this.garantia = garantia; } public double getPrecio() { return precio; } public void setPrecio(double precio) { this.precio = precio; } public String getDescripcion() { return descripcion; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } public String getPresentacion() { return presentacion; } public void setPresentacion(String presentacion) { this.presentacion = presentacion; } public boolean getFoto() { return foto; }
144
145
PREGUNTA 2 Solucion
public class double double double double Linea { x1; y1; x2; y2;
public Linea(){ x1=1; y1=1; x2=4; y2=3; } public Linea(double X1, double Y1, double X2, double Y2){ x1=X1; y1=Y1; x2=X2; y2=Y2; } public double getX1() { return x1; } public void setX1(double x1) { this.x1 = x1; } public double getY1() { return y1; } public void setY1(double y1) { this.y1 = y1; } public double getX2() { return x2; } public void setX2(double x2) { this.x2 = x2; } public double getY2() { return y2; } public void setY2(double y2) { this.y2 = y2; } public double CalcularDistanciaLinea(){ return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } }
146
Aplicacin de Linea
public class UsarLinea { public static void main(String[] args) { double perimetro; Linea linea1=new Linea(0,0,0,3); Linea linea2=new Linea(0,3,4,0); Linea linea3=new Linea(4,0,0,0); System.out.println("Distancia Linea 01: "+linea1.CalcularDistanciaLinea()); System.out.println("Distancia Linea 02: "+linea2.CalcularDistanciaLinea()); System.out.println("Distancia Linea 03: "+linea3.CalcularDistanciaLinea()); perimetro=linea1.CalcularDistanciaLinea()+linea2.CalcularDistanciaLinea()+l inea3.CalcularDistanciaLinea(); System.out.println("Perimetro: "+perimetro); } }
PREGUNTA 3 Solucion
import java.util.*; public class Cadena { public static void main(String[] args) { int as=0; int es=0; int is=0; int os=0; int us=0; String cadena="Hola a todos los presentes, bienvenidos"; String nom; Scanner nombre=new Scanner(System.in); for (int i=0;i<cadena.length();i++){ if(cadena.charAt(i)=='a') as=as+1; if(cadena.charAt(i)=='e') es=es+1; if(cadena.charAt(i)=='i') is=is+1; if(cadena.charAt(i)=='o') os=os+1; if(cadena.charAt(i)=='u') us=us+1; } System.out.println("Nro. a:"+as); System.out.println("Nro. e:"+es); System.out.println("Nro. i:"+is); System.out.println("Nro. o:"+os); System.out.println("Nro. u:"+us); cadena=cadena.replace('a', 'A'); cadena=cadena.replace('e', 'E');
147
cadena=cadena.replace('i', 'I'); cadena=cadena.replace('o', 'O'); cadena=cadena.replace('u', 'U'); System.out.println(cadena); System.out.println("Ingresar Nombre para agragar a la cadena anterior"); nom=" "+nombre.next(); cadena=cadena.concat(nom.toUpperCase()); System.out.println(cadena); System.out.println("Ingresar cadena a comparar"); nom=nombre.next(); System.out.println("Resultado de comparacion: "+cadena.compareTo(nom)); } }
PREGUNTA 4 Solucion
package PrimerParcial; public class Almacen { int Capacidad; int Huecos; public Almacen(int Capacidad){ this.Capacidad=Capacidad; Huecos=Capacidad; } public int DimeNumeroDeHuecos(){ return Huecos; } public int DimeCapacidad(){ return Capacidad; } public boolean HayHueco(){ return Huecos!=0; } public boolean HayContenedor(){ return Huecos!=Capacidad; } public void MeteContenedor(){ Huecos--; } public void SacaContenedor(){ Huecos++; } } APLICACIN DE ALMACEN public class ControlAlmacen { public static void main(String[] args) { Almacen almacen1=new Almacen(2); Almacen almacen2=new Almacen(4); Almacen almacen3=new Almacen(8);
148
Programa 89
Implementar en java el siguiente programa.Crear una clase Acleta con los siguientes atributos (identificador , apellido , nombre, salto de prueba1, salto de prueba2, salto final1, salto final2 ,mayor salto ,menor salto) y crear su contructor en java y muestra los Get y Set de los Atributos Luego crear un mtodo mostrar Acleta , en donde mostramos los atributos del Acleta (utilizar solo los Get para este caso) Luego creamos mtodos para calcular el salto mayor y el salto menor del Acleta Luego crear una aplicacin Acleta para leer por teclado los siguientes atributos del Acleta:identificador ,apellido ,nombre,salto de prueba1,salto de prueba2,salto final1,salto final2 y realizar la instancia de la clase Acleta. Luego en nuestra aplicacin Acleta ,probar sus mtodos de la clase Acleta y probar el mtodo mostrar Acleta,Toda aplicacin ser implentada desde el main. Solucion
public class Atleta { private int identificador; private String apellido; private String nombre; private float saltoPrueba1; private float saltoPrueba2; private float saltoFinal1; private float saltoFinal2; private float mayorSalto; private float menorSalto;
149
public Atleta() { } public Atleta(int identificador, String apellido, String nombre, float saltoPrueba1, float saltoPrueba2, float saltoFinal1, float saltoFinal2, float mayorSalto, float menorSalto) { super(); this.identificador = identificador; this.apellido = apellido; this.nombre = nombre; this.saltoPrueba1 = saltoPrueba1; this.saltoPrueba2 = saltoPrueba2; this.saltoFinal1 = saltoFinal1; this.saltoFinal2 = saltoFinal2; this.mayorSalto = mayorSalto; this.menorSalto = menorSalto; } public int getIdentificador() { return identificador; } public void setIdentificador(int identificador) { this.identificador = identificador; } public String getApellido() { return apellido; } public void setApellido(String apellido) { this.apellido = apellido; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public float getSaltoPrueba1() { return saltoPrueba1; } public void setSaltoPrueba1(float saltoPrueba1) { this.saltoPrueba1 = saltoPrueba1; } public float getSaltoPrueba2() { return saltoPrueba2; } public void setSaltoPrueba2(float saltoPrueba2) { this.saltoPrueba2 = saltoPrueba2; } public float getSaltoFinal1() { return saltoFinal1; } public void setSaltoFinal1(float saltoFinal1) { this.saltoFinal1 = saltoFinal1; } public float getSaltoFinal2() { return saltoFinal2; } public void setSaltoFinal2(float saltoFinal2) { this.saltoFinal2 = saltoFinal2; }
150
public float getMayorSalto() { return mayorSalto; } public void setMayorSalto(float mayorSalto) { this.mayorSalto = mayorSalto; } public float getMenorSalto() { return menorSalto; } public void setMenorSalto(float menorSalto) { this.menorSalto = menorSalto; } public void mostrar() { System.out.println("Identificador : "+ getIdentificador()); System.out.println("apellido : "+ getApellido()); System.out.println("nombre : "+ getNombre()); System.out.println("los saltos de los Acletas son :"); System.out.println("salto prueba1 : "+ getSaltoPrueba1()); System.out.println("salto prueba2 : "+ getSaltoPrueba2()); System.out.println("salto final1 : "+ getSaltoFinal1()); System.out.println("salto final2 : "+ getSaltoFinal2()); System.out.println("\tsalto Mayor: "+ getMayorSalto()); System.out.println("\tsalto Menor: "+ getMenorSalto()); } public float calculaSaltoMayor(float n1, float n2) { if (n1>n2) {//saltos mayores return n1; } else { return n2; } } public float calculaSaltoMayor() { return calculaSaltoMayor(calculaSaltoMayor(saltoPrueba1, saltoPrueba2), calculaSaltoMayor(saltoFinal1,saltoFinal2)); } public float calculaSaltoMenor(float n1, float n2) { if (n1<n2) {//saltos mayores return n1; } else { return n2; } } public float calculaSaltoMenor() { return calculaSaltoMenor(calculaSaltoMenor(saltoPrueba1, saltoPrueba2), calculaSaltoMenor(saltoFinal1,saltoFinal2)); } }
151
String nombre; float saltoPrueba1; float saltoPrueba2; float saltoFinal1; float saltoFinal2; System.out.print(" codigo de identificador: "); identificador=leer.nextInt(); System.out.print("apellido: "); apellido=leer.next(); System.out.print("nombre: "); nombre=leer.next(); System.out.print("salto prueba 1: "); saltoPrueba1=leer.nextFloat(); System.out.print("salto prueba 2: "); saltoPrueba2=leer.nextFloat(); System.out.print("salto final 1 : "); saltoFinal1=leer.nextFloat(); System.out.print("salto final 2 : "); saltoFinal2=leer.nextFloat(); Atleta nuevo= new Atleta(identificador, apellido, nombre,saltoPrueba1 ,saltoPrueba2,saltoFinal1,saltoFinal2,0,0); nuevo.setMayorSalto(nuevo.calculaSaltoMayor()); nuevo.setMenorSalto(nuevo.calculaSaltoMenor()); System.out.println("\nMostrar Acleta"); nuevo.mostrar();}
Programa 90
En una empresa se desea llevar el control de pagos de los empleados sabiendo que: a.Existen diferentes cargos o tipos de empleados(administrador,secretaria,asistente) b. cada empleado cumple un numero de horas semanal de trabajo diferente,segun el cargo. c.El pago por hora que recibe cada trabajador,tambien depende del tipo de empleado d.Todos los empleados tienen un descuento del 12% del sueldo bruto por concepto de AFP . Usted esta encargado de desarrollar una aplicacion que permita registrar una lista de empleados,calcular el sueldo de cada empleado,mostrar la lista de empleados,buscar el pago de un empleado, buscar el descuento de un empleado ,ver los empleados que reciben el sueldo mayor, ver los empleados que reciben el sueldo menor , mostrar los empleados ordenados por apellido , mostrar los empleados ordenados por cargo, ver la planilla de un empleado. Nota: crear una clase Empleado ,considerar entre 5 y 7 atributos ,implementar los contructores segun sea nesesario, implementar los metodos que le ayuden a solucionar los problemas e implementar un menu para probar su aplicacion. Solucion.
152
public class Empleado { private String apellido; private String nombre; private String cargo; private int horasTrabajadas; private int PagoPorHora; public Empleado(String apellido,String nombre,String cargo,int horasTrabajadas,int PagoPorHora){ this.apellido=apellido; this.nombre=nombre; this.cargo=cargo; this.horasTrabajadas=horasTrabajadas; this.PagoPorHora=PagoPorHora; } public int sueldoBruto(){ int sb=0; sb=this.horasTrabajadas*this.PagoPorHora; return sb; } public double calcularDescuento(){ double desc=0; desc=this.sueldoBruto()*0.12; return desc; } public double calcularPago(){ double pago=0; pago=this.sueldoBruto()-this.calcularDescuento(); return pago; } public void mostrar(){ System.out.println(this.apellido+" , "+this.nombre+"----->"+this.cargo+", "+this.calcularPago()+" , "+this.calcularDescuento()); } public String getapellido(){ return apellido; } public String getcargo(){ return cargo; } }
153
System.out.println("Empleado"+(i+1)); System.out.println("Nombre :"); nombre=leer.next(); System.out.println("Apellido :"); apellido=leer.next(); System.out.println("cargo :"); cargo=leer.next(); System.out.println("horas trabajadas :"); horas=leer.nextInt(); System.out.println("pago por hora :"); pago=leer.nextInt(); Empleado tmp=new Empleado(apellido,nombre,cargo,horas,pago); lista[i]=tmp; } break; case 2: System.out.println("APELLIDO Y NOMBRE\tCARGO\tSUELDO\tDESCUENTO"); for(int i=0;i<n;i++) lista[i].mostrar(); break; case 3: String clave; System.out.println("Ingresar un apellido"); clave=leer.next(); boolean encontrado=false; for(int i=0;i<n;i++){ if(clave.equals(lista[i].getapellido())){ encontrado=true; System.out.println(" sueldo ="+lista[i].calcularPago()); break; } } if(encontrado=false) System.out.println("empleado no encontrado"); break; case 4: String clave1; System.out.println("ingresar un apellido"); clave1=leer.next(); boolean encontrado1=false; for(int i=0;i<n;i++){ if(clave1.equals(lista[i].getapellido())){ encontrado1=true; System.out.println("descuento ="+lista[i].calcularDescuento()); break; } } if(encontrado1=false) System.out.println("empleado no encontrado"); break; case 5: double mayor=hallarMayor(lista,n); for(int i=0;i<n;i++) if(mayor==lista[i].calcularPago()) lista[i].mostrar(); break;
154
case 6: double menor=hallarMenor(lista,n); for(int i=0;i<n;i++) if(menor==lista[i].calcularPago()) lista[i].mostrar(); break; case 7: ordenarApellido(lista,n); for(int i=0;i<n;i++) lista[i].mostrar(); break; case 8:ordenarCargo(lista,n); for(int i=0;i<n;i++) lista[i].mostrar(); break; case 9: String clave2; System.out.println("ingresar apellido"); clave2=leer.next(); boolean encontrado2=false; for(int i=0;i<n;i++){ if(clave2.equals(lista[i].getapellido())){ encontrado2=true; System.out.println("sueldo bruto:"+lista[i].sueldoBruto()); System.out.println("descuento:"+lista[i].calcularDescuento()); System.out.println("sueldo neto:"+lista[i].calcularPago()); break; } } if(encontrado2=false) System.out.println("no se enuentra el empleado "); break; } }while(opccion!=11); } private static void ordenarCargo(Empleado[] lista, int n) { for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(lista[i].getcargo().compareTo(lista[j].getcargo())>0){ Empleado tmp=lista[i]; lista[i]=lista[j]; lista[j]=tmp; } } private static void ordenarApellido(Empleado[] lista, int n) { for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(lista[i].getapellido().compareTo(lista[j].getapellido())>0){ Empleado tmp=lista[i]; lista[i]=lista[j]; lista[j]=tmp; } }
155
private static double hallarMenor(Empleado[] lista, int n) { double menor=lista[0].calcularPago(); for(int i=0;i<n;i++){ if(menor>lista[i].calcularPago()) menor=lista[i].calcularPago(); } return menor; } private static double hallarMayor(Empleado[] lista, int n) { double mayor=lista[0].calcularPago(); for(int i=0;i<n;i++){ if(mayor<lista[i].calcularPago()) mayor=lista[i].calcularPago(); } return mayor; } private static int menu(){ Scanner leer=new Scanner(System.in); int op; System.out.println("menu"); System.out.println("1.resgistra empleado"); System.out.println("2.mostrar lista de empleados"); System.out.println("3.buscar pago,por apellido "); System.out.println("4.buscar descuento ,por apellido"); System.out.println("5.empleado con sueldo mayor"); System.out.println("6.empleado con sueldo menor"); System.out.println("7.ordenar por apellido"); System.out.println("8.ordenar por cargo"); System.out.println("9.ver planilla de un empleado"); System.out.println("10.salir"); System.out.print("elegir una opccion :"); op=leer.nextInt(); return op; } }
Programa 91
Implentar un programa en java. Crear una clase Operaciones con los siguientes mtodos. -Leer un vector. -Mostrar un vector. -Sumar vectores -Hallar moda del vector -Ordenar vector descendentemente con Burbuja. -Mostrar bsqueda binaria del vector. -Leer una serie Fibonacci con vectores y mostrar vector de la serie fibonaci. Luego crear una aplicacin en java desde el main para probar sus respectivos mtodos de la clase operaciones.
156
Solucion
import java.util.Scanner; public class Operaciones { public void leerVector(int[]v) { Scanner leer=new Scanner(System.in); for (int i = 0; i <v.length; i++) { System.out.print("\tv["+(i)+"]="); v[i]=leer.nextInt(); }} public void mostrarV(int[] v) { for (int i = 0; i < v.length; i++) { System.out.println("\nv["+(i)+"]="+v[i]); } System.out.println(); } public int suma(int[] v) { int sum=0; for (int i = 0; i < v.length; i++) { sum+=v[i]; } return sum;} public int modaVector(int[] v,int n) { int contador=0,aux=0,moda=0; for (int i = 0; i <n-1; i++) { for (int j =i+1; j <n; j++) { if (v[i]==v[j]) { contador++; if (contador>aux) { aux=contador; moda=v[i]; } } } contador=0; } return moda; } public void ordenarVector(int[] v) {//descendentemente for (int i = 0; i <v.length-1; i++) for (int j = i+1; j <v.length; j++) if (v[i]<v[j]) { int aux =v[i]; v[i]=v[j]; v[j]=aux;}} public void busquedaBinaria(int []v,int buscar) { ordenarVector(v); int inicio=0; int fin=v.length-1; int centro=(inicio+fin)/2; while(inicio<=fin && v[centro]!=buscar){ if(buscar<v[centro]){ fin=centro-1; } else{ inicio=centro+1; } centro=(inicio+fin)/2; } if(buscar==v[centro]){
157
System.out.println("Elemento encontrado :"+(centro+1)); } else{ System.out.println("Elemento no encontrado");} } public void leerSerieFibonaciVector(int[] v,int n) { int fb1=0,fb2=1; if (n==1) { v[1]=1; }else if(n==2){ v[1]=v[2]=1; }else { v[1]=v[2]=1; for (int i = 2; i < v.length; i++) { v[i]=fb1+fb2; fb1=fb2; fb2=v[i]; } } } }
158
Programa 92
Se desea ingresar un programa para corregir una tarjeta de respuestas de los alumnos, que tienen 10 preguntas con 3 posibles respuestas a,b,c toda respuesta distinta ser considerada como un punto menos y la respuesta correcta sera considerada como 3 puntos.Terminada la evaluacion de la tarjeta me debe devolver el puntaje obtenido ,Implementar con vectores.
Solucion
import java.util.Scanner; class ExamenTipoAdmision { public static void main(String[] args) { Scanner leer=new Scanner(System.in); char []respuesta=new char[10];//tiene 10 preguntas en un vector respuesta //las 10 preguntas con tres posibles respuestas en un vector respuesta[0]='a'; respuesta[1]='b'; respuesta[2]='c'; respuesta[3]='b'; respuesta[4]='a'; respuesta[5]='b'; respuesta[6]='c'; respuesta[7]='b'; respuesta[8]='a'; respuesta[9]='b'; char []vr=new char[10];//crear el vector respuesta con un char System.out.println("Ingresar respuestas:"); //leer 10 respuestas con vectores for(int i=0;i<10;i++){ System.out.println("respuesta["+(i)+"]: "); vr[i]=leer.next().charAt(0);//leer por teclado posibles respuestas } int notapos=0; int notaneg=0; for(int j=0;j<10;j++){ if (respuesta[j]==vr[j]) notapos=notapos+3; else notaneg=notaneg-1; } System.out.println("puntaje obtenido:"+(notapos+notaneg)+"puntos en total"); } }
Programa 93
Implementar en java el siguiente programa.Crear una clase Polinomio Monomio con los siguientes atributos (coeficiente ,exponente) , crear su contructor , mostrar los Get y Set,y crear un mtodo mostrar ; dentro del mtodo mostrar ,mostraramos getExponente.Luego creamos una Aplicacin de la clase Polinomio Monomio ,para crear las siguientes funciones.
159
-Leer un vector Polinomio Monomio. -Mostrar un vector Polinomio Monomio. -Hallar un vector Grado Polinomio Monomio.(Encuentra el mayor exponente del Polinomio) Solucion Primera parte
public class PolinomioMonomio { private int coeficiente; private int exponente; public PolinomioMonomio(int coeficiente, int exponente) { super(); this.coeficiente = coeficiente; this.exponente = exponente; } public int getCoeficiente() { return coeficiente; } public void setCoeficiente(int coeficiente) { this.coeficiente = coeficiente; } public int getExponente() { return exponente; } public void setExponente(int exponente) { this.exponente = exponente; } public void mostrar(){//mostrar el exponente System.out.println(this.getExponente()); } }
160
System.out.println("ingresar coeficiente: "); coeficiente=leer.nextInt(); System.out.println("ingresar exponente: "); exponente=leer.nextInt(); v[i]=new PolinomioMonomio(coeficiente,exponente); } } private static void MostrarPoly(PolinomioMonomio[] v, int n) { for(int i=0;i<n;i++){ if(v[i].getCoeficiente()<0){ } else System.out.print(" + "); System.out.print(v[i].getCoeficiente()+"X^"+v[i].getExponente()); } } private static int GradoPoly(PolinomioMonomio[] v, int n) { int may=v[0].getExponente(); for(int i=0;i<n;i++) if(may<v[i].getExponente()) may=v[i].getExponente(); return may; } }
Programa 94
Implementar en java el siguiente programa.Crear una clase Persona con los siguientes atributos (cdigo ,nombre ,casado,sexo) ,utilizar un tipo de dato para casado boolean,para el sexo un char,para el cdigo un entero. Crear su contructor de la clase Persona y los mtodos Get y Set de la clase Persona Luego crear una aplicacin de la clase Persona desde el main con una interfaz de coleccin del tipo LinkedList amigos que me permita implementar con funciones las siguientes colecciones. -Leer amigos con n datos (leer por teclado sus atributos) -Mostrar amigos en una coleccin -Borrar cdigo Impar de amigos(dentro de la funcin mostrar en con maysculas nombre y sexo) Solucion:
public class Persona { private int codigo; private String nombre; private boolean casado; private char sexo; public Persona(int codigo, String nombre, boolean casado, char sexo){ super();
161
this.codigo = codigo; this.nombre = nombre; this.casado = casado; this.sexo = sexo;} public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public boolean isCasado() { return casado; } public void setCasado(boolean casado) { this.casado = casado; } public char getSexo() { return sexo; } public void setSexo(char sexo) { this.sexo = sexo; } }
162
//Persona temp = new Persona(codigo, nombre, casado, sexo); //amigos.add(temp); } } private static void mostrarLista(LinkedList<Persona> amigos) { System.out.println(); System.out.println("Codigo" + "\t" + "Nombre" + "\t" + "Casado" + "\t" + "Sexo"); for (Iterator<Persona> iterator = amigos.iterator(); iterator.hasNext();) { Persona aux = (Persona) iterator.next(); System.out.print(aux.getCodigo() + "\t"); System.out.print(aux.getNombre() + "\t"); System.out.print(aux.isCasado() + "\t"); System.out.print(aux.getSexo() + "\t"); System.out.println(); } } private static void borrarCodigoImpar(LinkedList<Persona> amigos) { for (ListIterator<Persona> iterator = amigos.listIterator(); iterator.hasNext();) { Persona aux = (Persona) iterator.next(); aux.setNombre(aux.getNombre().toUpperCase());//mostrar convertido en mayusculas el nombre aux.setSexo(Character.toUpperCase(aux.getSexo()));//mostrar convertido en mayusculas el sexo iterator.set(aux); if (aux.getCodigo()%2!=0) { iterator.remove(); } } } }
Programa 95
Implementar en java el siguiente programa.Crear una clase Cancion con los siguientes atributos (String titulo ,String genero ,int duracion) y crear su contructor de la clase Cancion y mostrar los mtodos Get y Set de la clase Cancion. Luego crear una aplicacin de la clase Cancion desde el main con una interfaz de coleccin del tipo TreeMap<Integer, Cancion> lista de canciones que me permita implementar las siguientes funciones -Leer lista lista de canciones con n datos (leer por teclado sus atributos) -Mostrar lista de canciones con colecciones.
Solucion
163
public class Cancion { private String titulo; private String genero; private int duracion; public Cancion(String titulo, String genero, int duracion) { super(); this.titulo = titulo; this.genero = genero; this.duracion = duracion; } public String getTitulo() { return titulo; } public void setTitulo(String titulo) { this.titulo = titulo; } public String getGenero() { return genero; } public void setGenero(String genero) { this.genero = genero; } public int getDuracion() { return duracion; } public void setDuracion(int duracion) { this.duracion = duracion; } }
164
String genero=sc.next(); System.out.print("Duracion de la cancion: "); int duracion=sc.nextInt(); lista.put(i, new Cancion(titulo, genero, duracion)); } } private static void mostrarCanciones(TreeMap<Integer, Cancion> lista) { System.out.println("TITULO \tGENERO DURACION"); Set<Integer>s=lista.keySet(); for (Iterator<Integer> iterator = s.iterator(); iterator.hasNext();) { Integer aux = (Integer) iterator.next(); Cancion cancionTemp=lista.get(aux); System.out.print(cancionTemp.getTitulo()+"\t"); System.out.print(cancionTemp.getGenero()+"\t"); System.out.print(cancionTemp.getDuracion()+"\t"); System.out.println(); } } }
Programa 96 Crear el juego de la torre de Hanoi en java,Crear una funcin Torre Hanoi para poder implementar este juego. Solucion
import java.util.Scanner; public class TorreHanoi { public static void main(String[] args) { Scanner leer=new Scanner(System.in); int n; char a='A',b='B',c='C'; System.out.print(" Ingrese numeros de discos : "); n=leer.nextInt(); hanoi(a,c,b,n); } private static void hanoi(char a, char c, char b, int n) { if(n==1) System.out.println("Mover disco 1 desde varilla "+a+" a la torre "+c); else{ hanoi(a,b,c,n-1); System.out.println("Mover disco "+n+" desde Varilla "+a+" a la torre "+c); hanoi(b,c,a,n-1); } } }
165