Vous êtes sur la page 1sur 27

Ejercicios

1) Crear un programa para ingresar por teclado el nombre y precio de costo


de un artefacto, calcular un descuento del 15% al costo, calcular el neto que
es la diferencia del costo menos el descuento, aplicar el IGV 18% al neto y
calcular el precio final del artefacto. Mostrar el nombre del artefacto,
descuento, neto, IGV y precio final.

package problema1;
import java.util.Scanner;
public class Problema1 {
public static void main(String[] args) {
String nombre;
double costo, descuento, neto,igv,precio_final;

Scanner entrada = new Scanner (System.in);

System.out.print("Ingrese nombre de artefacto: ");


nombre = entrada.next();
System.out.print("Ingrese precio de artefacto: ");
costo= entrada .nextDouble();

descuento = 0.15 * costo;


neto = (costo - descuento);
igv = 0.18 * neto;
precio_final= neto + igv;

System.out.println("El nombre de Artefacto es " + nombre);


System.out.println("El descuento es: " + descuento);
System.out.println("El neto es: " + neto);
System.out.println("El IGV es: " + igv);
System.out.println("El Precio Final es: " + precio_final);

}
}
2) Ingrese el turno de trabajo [M-T-N] el nombre y sueldo básico que percibe
un empleado, calcular la bonificación que es el 33% del sueldo básico,
calcular el sueldo total a pagar al empleado. Finalmente visualizar por
ventana de consola el nombre, turno, sueldo básico, la bonificación y
sueldo total del empleado.

package problema1;
import java.util.Scanner;

public class Problema1 {

public static void main(String[] args) {

String turno, nombre;


double sueldo_basico,bonificacion,sueldo_total;

Scanner entrada = new Scanner(System.in);

System.out.println("Ingrese turno de trabajo: ");


turno = entrada.next();

System.out.println("Ingrese su nombre: ");


nombre = entrada.next();

System.out.println("Ingrese sueldo Basico: ");


sueldo_basico = entrada.nextDouble();

bonificacion = 0.33 * sueldo_basico;


sueldo_total = sueldo_basico + bonificacion;

System.out.println("El nombre es: " + nombre);


System.out.println("El turno es: " + turno);
System.out.println("El sueldo Basico es: " + sueldo_basico);
System.out.println("La bonificacion es: "+ bonificacion);
System.out.println("El sueldo total es: "+ sueldo_total);

}
}
CONDICIONALES
3) ingrese 2 números enteros diferentes y visualizar el mayor de ellos
package problema1;

import java.util.Scanner;
public class Problema1 {

public static void main(String[] args) {


int num1,num2;
Scanner entrada = new Scanner (System.in);

System.out.println("Ingrese el primer numero: ");


num1=entrada.nextInt();
System.out.println("Ingrese el segundo numero");
num2=entrada.nextInt();

if(num1>num2){
System.out.println("El número mayor es: " + num1);
}
else{
System.out.println("El mayor es: " + num2);
}
}
}

4) Ordenar 3 números de mayor a menor.

public class Ejermplo {


public static void main(String[] args) {
int n1,n2,n3;

Scanner entrada=new Scanner(System.in);


System.out.print("Ingrese un numero: ");
n1=entrada.nextInt();
System.out.print("Ingrese un numero: ");
n2=entrada.nextInt();
System.out.print("Ingrese un numero: ");
n3=entrada.nextInt();

if((n1>n2)&&(n2>n3)){
System.out.println("El orden es: " + n1 + n2 +n3);
}
else if((n1>n3)&&(n3>n2)){
System.out.println("El orden es: " + n1 + n3 +n2);
}
else if((n2>n1)&&(n1>n3)){
System.out.println("El orden es: " + n2 + n1 +n3);
}
else if((n2>n3)&&(n3>n1)){
System.out.println("El orden es: " + n2 + n3 +n1);
}
else if((n3>n2)&&(n2>n1)){
System.out.println("El orden es: " + n3 + n2 +n1);
}
else{
System.out.println("El orden es: " + n3 + n1 +n2);
}
}
}

5) Pedir un número entre 0 y 99999 y decir cuantas cifras tiene.

public class Ejercicio8 {

public static void main(String[] args) {


int numero;

Scanner entrada=new Scanner(System.in);


System.out.print("Digite un numero: ");
numero=entrada.nextInt();

if(numero < 10){


System.out.println("El numero "+numero+" tiene 1 cifra");
}
else if(numero<100){
System.out.println("El numero "+numero+" tiene 2 cifras");
}
else if(numero < 1000){
System.out.println("El numero "+numero+" tiene 3 cifras");
}
else if(numero < 10000){
System.out.println("El numero "+numero+" tiene 4 cifras");
}
else if(numero < 100000){
System.out.println("El numero "+numero+" tiene 5 cifras");
}
}
6) Realizar un programa que simule un inicio de sesión solicitando el nombre
de usuario y contraseña, y mostrar un mensaje en pantalla, inicio de
sesión correcto/ nombre de usuario incorrecto.

public class Problema1 {


public static void main(String[] args) {
String nombre,clave;
Scanner entrada = new Scanner(System.in);
System.out.print("Ingrese Nombre de usuario: ");
nombre = entrada.nextLine();
System.out.print("Ingrese Clave de usuario: ");
clave = entrada.nextLine();
if(nombre.equals("juan") && clave.equals("123456")){
System.out.println("Bienvenido al Sistema");
}
else{
System.out.println("Nombre de Usuario o contraseña Incorrecto");
}
}
}

7) Una farmacia desea un programa para ingresar el valor de compra y


calcular lo siguiente: si el pago se efectúa al “contado”, calcular un
descuento del 5%; pero si el pago es con “tarjeta” se incrementa un
recargo del 3% al valor de compra. Calcular y visualizar el descuento o
recargo según sea el caso y el total a pagar de la compra.

package problema1;

import java.util.Scanner;

public class Problema1 {

public static void main(String[] args) {


double valor, descuento, recargo,total;
String tipo_pago;
Scanner entrada = new Scanner(System.in);

System.out.print("Ingrese el valor de la compra: ");


valor = entrada.nextDouble();
System.out.print("Ingrese tipo de pago: ");
tipo_pago=entrada.next();
descuento=0.05*valor;
recargo=0.03*valor;

if(tipo_pago.equalsIgnoreCase("contado")){
System.out.println("El descuento es: " + descuento);
total= valor - descuento;
System.out.println("El total es: " + total);
}
else{
System.out.println("El recargo es: " + recargo);
total=valor + recargo;
System.out.println("El total es: " + total);
}
}
}

8) Tiendas Don Pepe desea un programa para ingresar por teclado el monto
de compra y el día de la semana; si el día es martes o jueves, se realizará
un descuento del 15% por la compra. Visualizar el descuento y el total a
pagar por la compra.

package problema1;

import java.util.Scanner;

public class Problema1 {

public static void main(String[] args) {


String dia;
double monto_compra,descuento, total1, total2;

Scanner entrada= new Scanner (System.in);


System.out.print("Ingrese el monto de compra: ");
monto_compra=entrada.nextInt();
System.out.print("Ingrese el dia de semana: ");
dia=entrada.next();

descuento= 0.15*monto_compra;
total1 = monto_compra - descuento;
total2=monto_compra;
if(dia.equals("martes")||dia.equals("jueves")){
System.out.println("El Descuento es: "+ descuento);
System.out.println("El total es: " + total1);
}
else{
System.out.println("El total es: " + total2);
}
}
}
9) Diseñe un programa que lea la temperatura en centígrados del día e imprima
el tipo de clima de acuerdo a la siguiente tabla. (Use condicional múltiple).

Temperatura Centígrados Tipo de clima


TP <= 10 Frío
10 < TP <= 20 Nublado
20 < TP <= 30 Caluroso
TP > 30 Tropical

public static void main(String[] args) {


double tp;
String clima;
Scanner entrada = new Scanner(System.in);
System.out.print("Ingrese la temperatura: ");
tp= entrada.nextDouble();

if(tp<=10){
System.out.println("La temperatura es FRIO");
}
else if(tp>10 && tp<=20){
System.out.println("La temperatura es NUBLADO");
}
else if(tp>20 && tp<=30){
System.out.println("La temperatura es CALUROSO");
}
else if(tp>30){
System.out.println("La temperatura es TROPICAL");
}
}
}
10) Determinar si un número es múltiplo de 10.

package ejer;

import java.util.Scanner;

public class Ejermplo {


public static void main(String[] args) {
int numero=0;

Scanner entrada=new Scanner(System.in);


System.out.println("Ingrese un numero: ");
numero=entrada.nextInt();
if(numero%10==0){
System.out.println("Es multiplo de 10");
}
else{
System.out.println("No es multiplo de 10");
}
}
}
11) Hacer un programa que simule un cajero automático con un saldo inicial
de 1000 dólares, con el siguiente menú de opciones:

public class Menu {

public static void main(String[] args) {


final int saldo_inicial=1000;
int opcion;
double ingreso,saldoActual,retiro;

Scanner entrada=new Scanner(System.in);


System.out.println("1. Ingresar dinero a la cuenta");
System.out.println("2. Retirar dinero de la cuenta.");
System.out.println("3. Salir");

System.out.print("Ingresar un numero:");
opcion=entrada.nextInt();

switch(opcion){
case 1 :
System.out.println("Digite la cantidad que desea ingresar en cuenta: ");
ingreso=entrada.nextDouble();
saldoActual=saldo_inicial+ingreso;
System.out.println("El saldo Actual es: " + saldoActual);
break;
case 2 :
System.out.print("Digite la cantidad que desea retirar: ");
retiro=entrada.nextDouble();
if(retiro<=saldo_inicial){
saldoActual=saldo_inicial-retiro;
System.out.println("Dinero en cuenta: "+saldoActual);
}
else{
System.out.println("No cuenta con el saldo suficiente");
}
break;
case 3:
break;
}

}
12) La universidad ha categorizado las matrículas de acuerdo a la facultad que va
a estudiar el postulante. Ingrese por teclado el nombre del postulante y la
facultad que va a estudiar, muestre el importe, la mensualidad, el IGV 18%
(importe + mensualidad) y el monto final a pagar. (Use el control switch).

package ejer;
import java.util.Scanner;

public class Ejermplo {


public static void main(String[] args) {
String nombre,facultad;
double importe=0,mensualidad=0,igv=0,mfinal=0,matricula=0;
Scanner entrada=new Scanner(System.in);
System.out.print("Ingrese nombre de postulante: ");
nombre=entrada.next();
System.out.print("Ingrese Facultad: ");
facultad=entrada.next();

switch(facultad){
case "sistemas":
case "SISTEMAS":
matricula = 350;
mensualidad= 650;

break;
case "derecho":
matricula=300;
mensualidad=550;
break;
case "naviera":
matricula=300;
mensualidad=500;
break;
case "pesquera":
matricula=310;
mensualidad=460;
break;
case "contabilidad":
matricula=280;
mensualidad=490;
break;
case "administracion":
matricula=360;
mensualidad=520;
break;
default:
System.out.println("La Facultad ingresado no es correcto");
System.exit(0);
}

igv= 0.18 * (matricula + mensualidad);


mfinal= matricula + mensualidad + igv;
System.out.println("La matricula es: " + matricula);
System.out.println("La mensualidad es: " + mensualidad);
System.out.println("El IGV es: " + igv);
System.out.println("El Monto Final es: " + mfinal);

}
}

13) Determinar si una letra es mayúscula o no.

public class Ejermplo {


public static void main(String[] args) {
char letra;

Scanner entrada=new Scanner(System.in);

System.out.print("Ingrese una letra: ");


letra=entrada.next().charAt(0);

if(Character.isUpperCase(letra)){
System.out.println("Es una letra mayuscula");
}
else{
System.out.println("No es una letra mayuscula");
}
}
}
REPETITIVOS

1) cuadrado de números:

public class Ejermplo {


public static void main(String[] args) {
int numero,cuadrado;

Scanner entrada=new Scanner(System.in);


System.out.print("Ingrese un numero: ");
numero=entrada.nextInt();
while(numero>=0){
cuadrado = (int)Math.pow(numero,2);
System.out.println("El numero " +numero+ " elevado al cuadrado es: "+cuadrado );
break;
}
}
}

2) Leer un numero hasta que se introduzca un 0. Para cada uno indicar si


es número par o impar.

public class Ejermplo {


public static void main(String[] args) {
int numero;

Scanner entrada=new Scanner(System.in);


System.out.print("Ingrese un numero: ");
numero=entrada.nextInt();

while(numero!=0){
if(numero%2==0){
System.out.println("El numero es par");
}
else{
System.out.println("El numero es impar");
}

System.out.print("Ingrese un numero: ");


numero=entrada.nextInt();
}

}
}
Bucles anidados
son aquellos que incluyen instrucciones for, while o do-while unas dentro de
otras.

* Programa que dibuja un rectángulo sólido de asteriscos.


* El número de filas y columnas se pide por teclado

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
int filas, columnas;
//leer número de filas hasta que sea un número > 0
do{
System.out.print("Introduce número de filas: ");
filas = sc.nextInt();
}while(filas<1);
//leer número de columnas hasta que sea un número > 0
do{
System.out.print("Introduce número de columnas: ");
columnas = sc.nextInt();
}while(columnas<1);
for(int i = 1; i<=filas; i++){ //filas
for(int j = 1; j<=columnas; j++){ //columnas
System.out.print(" * ");
}
System.out.println();
}

}
}
La salida de este programa para filas = 6 y columnas = 10 es:
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* Programa que muestra una tabla con las potencias de x (x x2 x3 x4)
* para valores de x desde 1 hasta XMAX
*/
public class JavaApplication22 {
public static void main(String[] args) {
final int XMAX = 10;
int x, n;
//mostrar la cabecera de la tabla
System.out.printf("%10s%10s%10s%10s%n", "x","x^2","x^3","x^4");
for (x = 1; x <= XMAX; x++){ //filas
for (n = 1; n <= 4; n++){ //columnas
System.out.printf("%10.0f", Math.pow(x,n));
}
System.out.println();
}
}
}

El programa muestra por pantalla la siguiente tabla de potencias:


x x^2 x^3 x^4
1 1 1 1
2 4 8 16
3 9 27 81
4 16 64 256
5 25 125 625
6 36 216 1296
7 49 343 2401
8 64 512 4096
9 81 729 6561
10 100 1000 10000
CONTROL N°1

Curso: Java 8.0 Fundamentals Developer

Escribir un programa que muestre las siguientes opciones:

1. Sumar dos números


2. Ordenar números
3. Fecha siguiente
4. Salir

Si el usuario ingresa la opción 1 el programa debe solicitar se ingresen dos


números y mostrar en consola la suma de los mismos y luego mostrar
nuevamente las opciones.
Si el usuario ingresa la opción 2 el programa debe solicitar se ingresen 3
números y mostrar en consola los números ordenados de mayor a menor y
luego mostrar nuevamente las opciones.

Si el usuario ingresa la opción 3 el usuario debe solicitar que se ingrese el


día, mes y año (por separado) de una fecha correcta y mostrará en consola
la fecha del día siguiente, suponer que todos los meses tienen 30 días y luego
mostrar nuevamente las opciones.
Si el usuario ingresa la opción 4 finaliza el programa.

SOLUCION:

public static void main(String[] args) {


int num1,num2, num3, suma,opcion=0;
int dia,mes,año;

Scanner entrada = new Scanner(System.in);


do{
System.out.println("");
System.out.println("1. Sumar dos números");
System.out.println("2. Ordenar números");
System.out.println("3. Fecha siguiente");
System.out.println("4. Salir");

System.out.print("Ingresar opcion: ");


opcion=entrada.nextInt();
switch(opcion){
case 1:
System.out.print("Ingrese primer valor: ");
num1=entrada.nextInt();
System.out.print("Ingrese segundo valor: ");
num2=entrada.nextInt();
suma=num1+num2;
System.out.println("La suma es: " + suma);
break;
case 2:
System.out.println("Ingrese 3 numeros: ");
num1=entrada.nextInt();
num2=entrada.nextInt();
num3=entrada.nextInt();
if(num1>num2 && num2>num3){
System.out.println(num1+", "+num2+", "+num3);
}else if(num1>num3 && num3>num2){
System.out.println(num1+", "+num3+" ,"+num2);
}else if(num2>num1 && num1>num3){
System.out.println(num2+", "+num1+", "+num3);
}else if(num2>num3 && num3>num1){
System.out.println(num2+", "+num3+", "+num1);
}else if(num3>num2 && num2>num1){
System.out.println(num3+", "+num2+", "+num1);
}else if(num3>num1 && num1>num2){
System.out.println(num3+", "+num1+", "+num2);
}
break;
case 3:
System.out.println("Ingrese numero de dia: ");
dia=entrada.nextInt();
System.out.println("Ingrese mes: ");
mes=entrada.nextInt();
System.out.println("Ingrese año: ");
año=entrada.nextInt();
if (dia>=1 && dia<=30){
if(mes>=1 && mes<=12){
if (año>=1){
dia++;
if(dia>30){
dia = 1;
mes++;
}
if (mes > 12){
mes = 1;
año++;
}
System.out.println(dia+"/"+mes+"/"+año);
} else{
System.out.println("año incorrecto");
}
}else{
System.out.println("mes incorrecto");
}
} else {
System.out.println("día incorrecto");
}
break;
case 4:
break;
}
}
while(opcion!=4);
}

PROGRAMACION ORIENTADA A OBJETOS

Ejercicio 5.1: Crear la aplicación de carrito de compras.

- Creación de clases para la aplicación carrito de compras.


- Crear métodos de una clase.

PRODUCTO
VENTA

DETALLE VENTA
Ejercicio 5.2: Implementar herencia y sobrescribir un método padre

Utilizar una la clase para sobrescribir un método.

Aplicar Herencia en los programas a desarrollar.


Usar la palabra reservada @override

PRODUCTO
package modelo;

public class Producto {


private int codigoProducto;
private String nombre;
private double precio;

public Producto(int codigoProducto, String nombre, double precio) {


this.codigoProducto = codigoProducto;
this.nombre = nombre;
this.precio = precio;
}

public int getCodigoProducto() {


return codigoProducto;
}

public String getNombre() {


return nombre;
}

public double getPrecio() {


return precio;
}

public void setCodigoProducto(int codigoProducto) {


this.codigoProducto = codigoProducto;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public void setPrecio(double precio) {


this.precio = precio;
}
public void imprimir(){
System.out.println("Ejemplo de Herencia");
System.out.println("Codigo de producto:" +this.getCodigoProducto());
System.out.println("Nombre del producto: " + this.getNombre());
System.out.println("Precio del producto: " + this.getPrecio());
}

ELECTRODOMESTICO

package modelo;

public class ElectroDomestico extends Producto{ //heredo metodos y atributos


de producto

private int codigoElectroDomestico; //atributo

public ElectroDomestico(int codigoProducto, String nombre, double precio) {


super(codigoProducto, nombre, precio);
}

public void acceso(){ //accede a atributos y metodos de la clase padre


int valorEntero = 13;
double valorDouble = 10.00;
String valorNombre = "Refrigeradora";

this.setCodigoProducto(valorEntero); //llamando metodo de producto


this.setPrecio(valorDouble);//llamando metodo de producto
this.setNombre(valorNombre);//llamando metodo de producto
}
//metodos get y sett
public int getCodigoElectroDomestico() {
return codigoElectroDomestico;
}

public void setCodigoElectroDomestico(int codigoElectroDomestico) {


this.codigoElectroDomestico = codigoElectroDomestico;
}

//llamando al metodo padre


@Override //anotacion de sobreescritura
public void imprimir(){
super.imprimir();
System.out.println("Ejemplo de sobreescritura de metodo");
}
}
PRINCIPAL

package principal;
import modelo.ElectroDomestico;

public class Principal {


public static void main(String[] args) {

ElectroDomestico e =new ElectroDomestico(1,"abc",12);


e.acceso(); //llamando al metodo Acceso
e.setCodigoElectroDomestico(10);
e.imprimir(); //llamando al metodo imprimir
System.out.println("Cod.Electromestico:"+e.getCodigoElectroDomestico());
}
}

CONTROL 2

Pregunta N°1:
Implementar la clase Alumno (Debe cumplir el encapsulamiento) con los siguientes
atributos:
Nombre, año de nacimiento, curso, Nota1, Nota2, Nota3
Implementar los siguientes métodos como mínimo:
 Constructor
 Métodos set y get
 calculaEdad
Pregunta N°2:
Implementar la clase Principal, en ella crear tres objetos de la clase Alumno,
imprimir la información de los alumnos (nombre, edad, curso, notas, promedio), se
debe imprimir la información considerando los siguientes criterios:
 En orden ascendente según la edad
 En orden descendente según el promedio.

Pregunta N°3:
Implementar la clase Registro, en ella mostrar e implementar el funcionamiento de
las siguientes opciones:

1. Registrar alumno
2. Buscar alumno
3. Modificar alumno
4. Eliminar alumno
5. Mostrar todos los alumnos
6. Salir
SOLUCION:
Pregunta N°1:

Alumno
package control2;
public class Alumno {
private String nombre;
private int año;
private String curso;
private int nota1;
private int nota2;
private int nota3;

public Alumno(String nombre, int año, String curso, int nota1, int nota2, int nota3) {
this.nombre = nombre;
this.año = año;
this.curso = curso;
this.nota1 = nota1;
this.nota2 = nota2;
this.nota3 = nota3;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public void setAño(int año) {


this.año = año;
}

public void setCurso(String curso) {


this.curso = curso;
}

public void setNota1(int nota1) {


this.nota1 = nota1;
}

public void setNota2(int nota2) {


this.nota2 = nota2;
}

public void setNota3(int nota3) {


this.nota3 = nota3;
}

public String getNombre() {


return nombre;
}

public int getAño() {


return año;
}

public String getCurso() {


return curso;
}

public int getNota1() {


return nota1;
}

public int getNota2() {


return nota2;
}

public int getNota3() {


return nota3;
}
public double promedio(){
return (nota1+nota2+nota3)/3;
}

public int calculaEdad(){


return 2017-año;
}
public void imprimir(){
System.out.println(nombre+", "+curso+", "+nota1+", "+nota2+", "+nota3);
}
}

Pregunta N°2:

Principal
package control2;
public class Principal {
public static void main(String[] args) {
Alumno a1 = new Alumno("ivan", 1991,"matematica",12,10,13);
Alumno a2 = new Alumno("juan", 2010,"sql", 12, 15, 17);
Alumno a3 = new Alumno("luis", 1989,"fisica", 18, 19, 16);

if(a1.calculaEdad()<a2.calculaEdad() && a2.calculaEdad()<a3.calculaEdad()){


a1.imprimir();
a2.imprimir();
a3.imprimir();
}
else if(a1.calculaEdad()<a3.calculaEdad() && a3.calculaEdad()<a2.calculaEdad()){
a1.imprimir();
a3.imprimir();
a2.imprimir();
}
else if(a2.calculaEdad()<a1.calculaEdad() && a1.calculaEdad()<a3.calculaEdad()){
a2.imprimir();
a1.imprimir();
a3.imprimir();
}
else if(a2.calculaEdad()<a3.calculaEdad() && a3.calculaEdad()<a1.calculaEdad()){
a2.imprimir();
a3.imprimir();
a1.imprimir();
}
else if(a3.calculaEdad()<a2.calculaEdad() && a2.calculaEdad()<a1.calculaEdad()){
a3.imprimir();
a2.imprimir();
a1.imprimir();
}
else if(a3.calculaEdad()<a1.calculaEdad() && a1.calculaEdad()<a2.calculaEdad()){
a3.imprimir();
a1.imprimir();
a2.imprimir();
}
System.out.println(" ");
if(a1.promedio()>a2.promedio() && a2.promedio()>a3.promedio()){
a1.imprimir();
a2.imprimir();
a3.imprimir();
}
else if(a1.promedio()>a3.promedio() && a3.promedio()>a2.promedio()){
a1.imprimir();
a3.imprimir();
a2.imprimir();
}
else if(a2.promedio()>a1.promedio() && a1.promedio()>a3.promedio()){
a2.imprimir();
a1.imprimir();
a3.imprimir();
}
else if(a2.promedio()>a3.promedio() && a3.promedio()>a1.promedio()){
a2.imprimir();
a3.imprimir();
a1.imprimir();
}
else if(a3.promedio()>a2.promedio() && a2.promedio()>a1.promedio()){
a3.imprimir();
a2.imprimir();
a1.imprimir();
}
else if(a3.promedio()>a1.promedio() && a1.promedio()>a2.promedio()){
a3.imprimir();
a1.imprimir();
a2.imprimir();
}
}
}
Pregunta N°3:
RegistroAuxiliar
package control2;

import java.util.HashMap;
import java.util.Set;

public class RegistroAuxiliar {


private HashMap <String,Alumno> ag = new HashMap<String,Alumno>();

public boolean agregar(String d,String n, String c){


if(!ag.containsKey(d)){
Alumno p= new Alumno();
p.setDni(d);
p.setNombre(n);
p.setCurso(c);
ag.put(d, p);
return true;
} else {
return false;
}
}

public boolean eliminar(String d){


if(ag.containsKey(d)){
ag.remove(d);
return true;
} else {
return false;
}
}

public Alumno buscar(String dni) {


if (ag.containsKey(dni)){
return ag.get(dni);
} else{
return null;
}
}

public Set<String> total(){


return ag.keySet();
}
}

Registro

package control2;

import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;

public class Registro {


public static void main(String[] args){
int opcion=0;
String dni, nombre,curso;
RegistroAuxiliar ra = new RegistroAuxiliar();

Scanner scan = new Scanner(System.in);


do{
System.out.println("");
System.out.println("1. Registrar Alumno");
System.out.println("2. Buscar Alumno");
System.out.println("3. Modificar Alumno");
System.out.println("4. Eliminar Alumno");
System.out.println("5. Mostrar todo");
System.out.println("6. Salir");

System.out.print("Ingresar Opción:");
opcion = Integer.parseInt(scan.nextLine());

switch (opcion){
case 1:System.out.print("Ingresar dni: ");
dni=scan.nextLine();
System.out.print("Ingresar nombre: ");
nombre=scan.nextLine();
System.out.print("Ingresar curso: ");
curso=scan.nextLine();
if (ra.agregar(dni,nombre,curso)){
System.out.println("La persona se agrego correctamente");
} else{
System.out.println("DNI repetido, la persona no se agrego
correctamente");
}
break;
case 2:System.out.print("Ingresar dni: ");
dni=scan.nextLine();
Alumno alm = ra.buscar(dni);
if (alm!=null){
System.out.println("Los datos son:");
System.out.println("DNI: "+alm.getDni());
System.out.println("Nombre: "+alm.getNombre());
System.out.println("Teléfono: "+alm.getCurso());
} else{
System.out.println("La persona no esta en la agenda");
}
break;

case 3:System.out.print("Ingresar dni: ");


dni=scan.nextLine();
Alumno aux = ra.buscar(dni);
if (aux!=null){
System.out.println("Ingresar nuevo nombre: ");
nombre=scan.nextLine();
aux.setNombre(nombre);
System.out.println("Ingresar nuevo curso: ");
curso=scan.nextLine();
aux.setCurso(curso);
} else {
System.out.println("El alumno no está registrado.");
}
break;
case 4:System.out.print("Ingresar dni: ");
dni=scan.nextLine();
if (ra.eliminar(dni)){
System.out.println("La persona se elimino");
}else{
System.out.println("la persona no está en la agenda");
}
break;
case 5:Set<String> se = ra.total();
for (Iterator i=se.iterator();i.hasNext();){
dni=(String) i.next();
Alumno alumno = ra.buscar(dni);
System.out.print(alumno.getDni()+" - ");
System.out.print(alumno.getNombre()+" - ");
System.out.println(alumno.getCurso());
}
break;
}

} while (opcion!=6);
}
}

Vous aimerez peut-être aussi