Ejercicios Capitulo 5 bloque2
This commit is contained in:
@@ -25,6 +25,19 @@ public class Utils {
|
||||
return sc.nextLine();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static float solicitarFloatScanner(String pregunta) {
|
||||
System.out.println(pregunta);
|
||||
Scanner sc = new Scanner(System.in);
|
||||
return sc.nextFloat();
|
||||
}
|
||||
public static float solicitarFloatScannerInline(String pregunta) {
|
||||
System.out.print(pregunta);
|
||||
Scanner sc = new Scanner(System.in);
|
||||
return sc.nextFloat();
|
||||
}
|
||||
|
||||
public static double generarNumAleatorio(int multiplicador) {
|
||||
return Math.random() * multiplicador;
|
||||
}
|
||||
|
||||
49
src/capitulo05/bloque02/articulosComestibles/Articulo.java
Normal file
49
src/capitulo05/bloque02/articulosComestibles/Articulo.java
Normal file
@@ -0,0 +1,49 @@
|
||||
package capitulo05.bloque02.articulosComestibles;
|
||||
|
||||
public class Articulo {
|
||||
private int codigo;
|
||||
private String nombre;
|
||||
private float precio;
|
||||
|
||||
public Articulo() {
|
||||
}
|
||||
|
||||
public Articulo(int codigo, String nombre, float precio) {
|
||||
this.codigo = codigo;
|
||||
this.nombre = nombre;
|
||||
this.precio = precio;
|
||||
}
|
||||
|
||||
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 float getPrecio() {
|
||||
return precio;
|
||||
}
|
||||
|
||||
public void setPrecio(float precio) {
|
||||
this.precio = precio;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Articulos{" +
|
||||
"codigo=" + codigo +
|
||||
", nombre='" + nombre + '\'' +
|
||||
", precio=" + precio +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package capitulo05.bloque02.articulosComestibles;
|
||||
|
||||
public class ArticuloNoPerecedero extends Articulo {
|
||||
|
||||
public ArticuloNoPerecedero() {
|
||||
}
|
||||
|
||||
public ArticuloNoPerecedero(int codigo, String nombre, float precio) {
|
||||
super(codigo, nombre, precio);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ArticuloNoPerecedero{" +
|
||||
"codigo=" + super.getCodigo() +
|
||||
", nombre='" + super.getNombre() + '\'' +
|
||||
", precio=" + super.getPrecio() +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package capitulo05.bloque02.articulosComestibles;
|
||||
|
||||
public class ArticuloPerecedero extends Articulo{
|
||||
private String fecha;
|
||||
|
||||
public ArticuloPerecedero() {
|
||||
}
|
||||
|
||||
public ArticuloPerecedero(String fecha) {
|
||||
this.fecha = fecha;
|
||||
}
|
||||
|
||||
public ArticuloPerecedero(int codigo, String nombre, float precio, String fecha) {
|
||||
super(codigo, nombre, precio);
|
||||
this.fecha = fecha;
|
||||
}
|
||||
|
||||
public String getFecha() {
|
||||
return fecha;
|
||||
}
|
||||
|
||||
public void setFecha(String fecha) {
|
||||
this.fecha = fecha;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ArticuloPerecedero{" +
|
||||
"codigo=" + super.getCodigo() +
|
||||
", nombre='" + super.getNombre() + '\'' +
|
||||
", precio=" + super.getPrecio() +
|
||||
", fecha='" + fecha + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
39
src/capitulo05/bloque02/articulosComestibles/Tienda.java
Normal file
39
src/capitulo05/bloque02/articulosComestibles/Tienda.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package capitulo05.bloque02.articulosComestibles;
|
||||
|
||||
import capitulo04.utils.Utils;
|
||||
import capitulo05.bloque02.coleccionAntiguedades.Joya;
|
||||
import capitulo05.bloque02.coleccionAntiguedades.Libro;
|
||||
|
||||
public class Tienda{
|
||||
public static void main(String[] args) {
|
||||
Articulo[] articulos = new Articulo[4];
|
||||
|
||||
for (int i = 0; i < articulos.length; i++) {
|
||||
if (Math.round(Math.random()) == 1) {
|
||||
System.out.println("Introduzca los datos de un artículo perecedero");
|
||||
articulos[i] = registrarDatos(new ArticuloPerecedero());
|
||||
ArticuloPerecedero art = (ArticuloPerecedero) articulos[i];
|
||||
art.setFecha(Utils.solicitarStringScannerInline("Introduzca la fecha en la que caduca este artículo: "));
|
||||
} else {
|
||||
System.out.println("Introduzca los datos de un artículo no perecedero");
|
||||
articulos[i] = registrarDatos(new ArticuloNoPerecedero());
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < articulos.length; i++) {
|
||||
if (articulos[i] instanceof ArticuloPerecedero artP) {
|
||||
System.out.println(artP.toString());
|
||||
} else if (articulos[i] instanceof ArticuloNoPerecedero artNP) {
|
||||
System.out.println(artNP.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Articulo registrarDatos(Articulo articulo) {
|
||||
articulo.setCodigo(Utils.solicitarIntScannerInline("Introduzca código del artículo: "));
|
||||
articulo.setNombre(Utils.solicitarStringScannerInline("Introduzca el nombre del artículo: "));
|
||||
articulo.setPrecio(Utils.solicitarFloatScannerInline("Introduzca el precio del artículo: "));
|
||||
|
||||
return articulo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package capitulo05.bloque02.coleccionAntiguedades;
|
||||
|
||||
public class Antiguedad {
|
||||
private int anoFabricacion;
|
||||
private String origen;
|
||||
private float precioVenta;
|
||||
|
||||
public Antiguedad() {
|
||||
}
|
||||
|
||||
public Antiguedad(int anoFabricacion, String origen, float precioVenta) {
|
||||
this.anoFabricacion = anoFabricacion;
|
||||
this.origen = origen;
|
||||
this.precioVenta = precioVenta;
|
||||
}
|
||||
|
||||
public int getAnoFabricacion() {
|
||||
return anoFabricacion;
|
||||
}
|
||||
|
||||
public void setAnoFabricacion(int anoFabricacion) {
|
||||
this.anoFabricacion = anoFabricacion;
|
||||
}
|
||||
|
||||
public String getOrigen() {
|
||||
return origen;
|
||||
}
|
||||
|
||||
public void setOrigen(String origen) {
|
||||
this.origen = origen;
|
||||
}
|
||||
|
||||
public float getPrecioVenta() {
|
||||
return precioVenta;
|
||||
}
|
||||
|
||||
public void setPrecioVenta(float precioVenta) {
|
||||
this.precioVenta = precioVenta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Antiguedad{" +
|
||||
"anoFabricacion=" + anoFabricacion +
|
||||
", origen='" + origen + '\'' +
|
||||
", precioVenta=" + precioVenta +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package capitulo05.bloque02.coleccionAntiguedades;
|
||||
|
||||
import capitulo04.utils.Utils;
|
||||
|
||||
public class ColeccionAntiguedades {
|
||||
public static void main(String[] args) {
|
||||
Antiguedad antiguedad = null;
|
||||
int eleccion = Utils.solicitarIntScannerInline("Sistema de registro de antigüedades\n" +
|
||||
"Seleccione el tipo de antigüedad:\n" +
|
||||
" 1 - Joya\n" +
|
||||
" 2 - Libro\n" +
|
||||
" 3 - Cuadro\n" +
|
||||
" 4 - Escultura\n" +
|
||||
"> ");
|
||||
|
||||
switch (eleccion) {
|
||||
case 1:
|
||||
Joya joyita = (Joya) registrarDatos(new Joya());
|
||||
|
||||
joyita.setMaterialFabricacion(Utils.solicitarStringScannerInline("Introduzca el material de fabricación de la joya: "));
|
||||
antiguedad = joyita;
|
||||
break;
|
||||
case 2:
|
||||
Libro librito = (Libro) registrarDatos(new Libro());
|
||||
|
||||
librito.setTitulo(Utils.solicitarStringScannerInline("Introduzca el título del libro: "));
|
||||
librito.setAutor(Utils.solicitarStringScannerInline("Introduzca el nombre del autor del libro: "));
|
||||
antiguedad = librito;
|
||||
break;
|
||||
case 3:
|
||||
Cuadro cuadrito = (Cuadro) registrarDatos(new Cuadro());
|
||||
|
||||
cuadrito.setPintor(Utils.solicitarStringScannerInline("Introduzca el nombre del pintor del cuadro: "));
|
||||
antiguedad = cuadrito;
|
||||
break;
|
||||
case 4:
|
||||
Escultura esculturita = (Escultura) registrarDatos(new Escultura());
|
||||
|
||||
esculturita.setAltura(Utils.solicitarFloatScannerInline("Introduzca la altura de la escultura: "));
|
||||
esculturita.setEscultor(Utils.solicitarStringScannerInline("Introduzca el nombre del escultor: "));
|
||||
esculturita.setMaterial(Utils.solicitarStringScannerInline("Introduzca el material del que está hecha la escultura: "));
|
||||
antiguedad = esculturita;
|
||||
break;
|
||||
default:
|
||||
System.out.println("No ha introducido una opción válida");
|
||||
|
||||
}
|
||||
|
||||
if (antiguedad instanceof Joya joyita) {
|
||||
System.out.println(joyita.toString());
|
||||
} else if (antiguedad instanceof Libro librito) {
|
||||
System.out.println(librito.toString());
|
||||
} else if (antiguedad instanceof Cuadro cuadrito) {
|
||||
System.out.println(cuadrito.toString());
|
||||
} else if (antiguedad instanceof Escultura esculturita) {
|
||||
System.out.println(esculturita.toString());
|
||||
}
|
||||
|
||||
}
|
||||
public static Antiguedad registrarDatos(Antiguedad antiguedad) {
|
||||
antiguedad.setOrigen(Utils.solicitarStringScannerInline("Introduzca el origen del artículo: "));
|
||||
antiguedad.setAnoFabricacion(Utils.solicitarIntScannerInline("Introduzca el año de fabricación del artículo: "));
|
||||
antiguedad.setPrecioVenta(Utils.solicitarFloatScannerInline("Introduzca el precio del artículo: "));
|
||||
|
||||
return antiguedad;
|
||||
}
|
||||
}
|
||||
35
src/capitulo05/bloque02/coleccionAntiguedades/Cuadro.java
Normal file
35
src/capitulo05/bloque02/coleccionAntiguedades/Cuadro.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package capitulo05.bloque02.coleccionAntiguedades;
|
||||
|
||||
public class Cuadro extends Antiguedad{
|
||||
private String pintor;
|
||||
|
||||
|
||||
|
||||
public Cuadro() {
|
||||
}
|
||||
|
||||
public Cuadro(int anoFabricacion, String origen, float precioVenta, String pintor) {
|
||||
super(anoFabricacion, origen, precioVenta);
|
||||
this.pintor = pintor;
|
||||
}
|
||||
|
||||
public String getPintor() {
|
||||
return pintor;
|
||||
}
|
||||
|
||||
public void setPintor(String pintor) {
|
||||
this.pintor = pintor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Cuadro{" +
|
||||
|
||||
"anoFabricacion=" + super.getAnoFabricacion() +
|
||||
", origen='" + super.getOrigen() + '\'' +
|
||||
", precioVenta=" + super.getPrecioVenta() +
|
||||
|
||||
", pintor='" + pintor + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
55
src/capitulo05/bloque02/coleccionAntiguedades/Escultura.java
Normal file
55
src/capitulo05/bloque02/coleccionAntiguedades/Escultura.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package capitulo05.bloque02.coleccionAntiguedades;
|
||||
|
||||
public class Escultura extends Antiguedad {
|
||||
private String escultor;
|
||||
private float altura;
|
||||
private String material;
|
||||
|
||||
public Escultura() {
|
||||
}
|
||||
|
||||
public Escultura(int anoFabricacion, String origen, float precioVenta, String escultor, float altura, String material) {
|
||||
super(anoFabricacion, origen, precioVenta);
|
||||
this.escultor = escultor;
|
||||
this.altura = altura;
|
||||
this.material = material;
|
||||
}
|
||||
|
||||
public String getEscultor() {
|
||||
return escultor;
|
||||
}
|
||||
|
||||
public void setEscultor(String escultor) {
|
||||
this.escultor = escultor;
|
||||
}
|
||||
|
||||
public float getAltura() {
|
||||
return altura;
|
||||
}
|
||||
|
||||
public void setAltura(float altura) {
|
||||
this.altura = altura;
|
||||
}
|
||||
|
||||
public String getMaterial() {
|
||||
return material;
|
||||
}
|
||||
|
||||
public void setMaterial(String material) {
|
||||
this.material = material;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Escultura{" +
|
||||
|
||||
"anoFabricacion=" + super.getAnoFabricacion() +
|
||||
", origen='" + super.getOrigen() + '\'' +
|
||||
", precioVenta=" + super.getPrecioVenta() +
|
||||
|
||||
", escultor='" + escultor + '\'' +
|
||||
", altura=" + altura +
|
||||
", material='" + material + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
33
src/capitulo05/bloque02/coleccionAntiguedades/Joya.java
Normal file
33
src/capitulo05/bloque02/coleccionAntiguedades/Joya.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package capitulo05.bloque02.coleccionAntiguedades;
|
||||
|
||||
public class Joya extends Antiguedad{
|
||||
private String materialFabricacion;
|
||||
|
||||
public Joya() {
|
||||
}
|
||||
|
||||
public Joya(int anoFabricacion, String origen, float precioVenta, String materialFabricacion) {
|
||||
super(anoFabricacion, origen, precioVenta);
|
||||
this.materialFabricacion = materialFabricacion;
|
||||
}
|
||||
|
||||
public String getMaterialFabricacion() {
|
||||
return materialFabricacion;
|
||||
}
|
||||
|
||||
public void setMaterialFabricacion(String materialFabricacion) {
|
||||
this.materialFabricacion = materialFabricacion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Joya{" +
|
||||
|
||||
"anoFabricacion=" + super.getAnoFabricacion() +
|
||||
", origen='" + super.getOrigen() + '\'' +
|
||||
", precioVenta=" + super.getPrecioVenta() +
|
||||
|
||||
", materialFabricacion='" + materialFabricacion + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
44
src/capitulo05/bloque02/coleccionAntiguedades/Libro.java
Normal file
44
src/capitulo05/bloque02/coleccionAntiguedades/Libro.java
Normal file
@@ -0,0 +1,44 @@
|
||||
package capitulo05.bloque02.coleccionAntiguedades;
|
||||
|
||||
public class Libro extends Antiguedad{
|
||||
private String autor;
|
||||
private String titulo;
|
||||
|
||||
public Libro() {
|
||||
}
|
||||
|
||||
public Libro(int anoFabricacion, String origen, float precioVenta, String autor, String titulo) {
|
||||
super(anoFabricacion, origen, precioVenta);
|
||||
this.autor = autor;
|
||||
this.titulo = titulo;
|
||||
}
|
||||
|
||||
public String getAutor() {
|
||||
return autor;
|
||||
}
|
||||
|
||||
public void setAutor(String autor) {
|
||||
this.autor = autor;
|
||||
}
|
||||
|
||||
public String getTitulo() {
|
||||
return titulo;
|
||||
}
|
||||
|
||||
public void setTitulo(String titulo) {
|
||||
this.titulo = titulo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Libro{" +
|
||||
|
||||
"anoFabricacion=" + super.getAnoFabricacion() +
|
||||
", origen='" + super.getOrigen() + '\'' +
|
||||
", precioVenta=" + super.getPrecioVenta() +
|
||||
|
||||
", autor='" + autor + '\'' +
|
||||
", titulo='" + titulo + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user