From f1d6cc1bb0c9d51c108012f52a973a22dcc7b102 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Sat, 7 Dec 2024 23:17:51 +0100 Subject: [PATCH] Ejercicios Capitulo 5 bloque 3 --- src/capitulo04/utils/Utils.java | 11 ++++- .../bloque02/articulosComestibles/Tienda.java | 3 +- src/capitulo05/bloque03/animales/Animal.java | 6 +++ src/capitulo05/bloque03/animales/Gato.java | 12 +++++ src/capitulo05/bloque03/animales/Perro.java | 12 +++++ .../bloque03/animales/Principal.java | 18 +++++++ src/capitulo05/bloque03/figuras/Circulo.java | 37 ++++++++++++++ src/capitulo05/bloque03/figuras/Figura.java | 7 +++ .../bloque03/figuras/Principal.java | 14 ++++++ .../bloque03/figuras/Rectangulo.java | 48 +++++++++++++++++++ .../bloque03/instrumentos/Bateria.java | 9 ++++ .../bloque03/instrumentos/Guitarra.java | 9 ++++ .../bloque03/instrumentos/Instrumento.java | 6 +++ .../bloque03/instrumentos/Piano.java | 9 ++++ .../bloque03/instrumentos/Principal.java | 24 ++++++++++ .../bloque03/vehiculos/Bicicleta.java | 19 ++++++++ src/capitulo05/bloque03/vehiculos/Coche.java | 19 ++++++++ .../bloque03/vehiculos/Principal.java | 37 ++++++++++++++ .../bloque03/vehiculos/Vehiculo.java | 36 ++++++++++++++ 19 files changed, 333 insertions(+), 3 deletions(-) create mode 100644 src/capitulo05/bloque03/animales/Animal.java create mode 100644 src/capitulo05/bloque03/animales/Gato.java create mode 100644 src/capitulo05/bloque03/animales/Perro.java create mode 100644 src/capitulo05/bloque03/animales/Principal.java create mode 100644 src/capitulo05/bloque03/figuras/Circulo.java create mode 100644 src/capitulo05/bloque03/figuras/Figura.java create mode 100644 src/capitulo05/bloque03/figuras/Principal.java create mode 100644 src/capitulo05/bloque03/figuras/Rectangulo.java create mode 100644 src/capitulo05/bloque03/instrumentos/Bateria.java create mode 100644 src/capitulo05/bloque03/instrumentos/Guitarra.java create mode 100644 src/capitulo05/bloque03/instrumentos/Instrumento.java create mode 100644 src/capitulo05/bloque03/instrumentos/Piano.java create mode 100644 src/capitulo05/bloque03/instrumentos/Principal.java create mode 100644 src/capitulo05/bloque03/vehiculos/Bicicleta.java create mode 100644 src/capitulo05/bloque03/vehiculos/Coche.java create mode 100644 src/capitulo05/bloque03/vehiculos/Principal.java create mode 100644 src/capitulo05/bloque03/vehiculos/Vehiculo.java diff --git a/src/capitulo04/utils/Utils.java b/src/capitulo04/utils/Utils.java index 413de8d..eff4bed 100644 --- a/src/capitulo04/utils/Utils.java +++ b/src/capitulo04/utils/Utils.java @@ -8,6 +8,7 @@ public class Utils { Scanner sc = new Scanner(System.in); return sc.nextInt(); } + public static String solicitarStringScanner(String pregunta) { System.out.println(pregunta); Scanner sc = new Scanner(System.in); @@ -19,6 +20,7 @@ public class Utils { Scanner sc = new Scanner(System.in); return sc.nextInt(); } + public static String solicitarStringScannerInline(String pregunta) { System.out.print(pregunta); Scanner sc = new Scanner(System.in); @@ -26,12 +28,12 @@ public class Utils { } - 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); @@ -42,11 +44,16 @@ public class Utils { return Math.random() * multiplicador; } + public static int generarIntAleatorioEntreLimites(int limiteMin, int limiteMax) { + return limiteMin + ((int) Math.round(Math.random() * (limiteMax - limiteMin))); + } + public static void mostrarArrayNums(int array[]) { for (int num : array) { System.out.print(num + " "); } } + public static int[] crearArrayNumsAleatorios(int cantidadElementos, int numMinimo, int numMaximo) { int[] nums = new int[cantidadElementos]; @@ -55,6 +62,7 @@ public class Utils { } return nums; } + public static int[] crearArrayNumsAleatoriosSinRepeticiones(int cantidadElementos, int numMinimo, int numMaximo) { int[] nums = new int[cantidadElementos]; @@ -75,6 +83,7 @@ public class Utils { } return nums; } + public static String cambiarAMinuscula(String textoACambiar) { String minuscula = ""; for (int i = 0; i < textoACambiar.length(); i++) { diff --git a/src/capitulo05/bloque02/articulosComestibles/Tienda.java b/src/capitulo05/bloque02/articulosComestibles/Tienda.java index 67033cd..559e927 100644 --- a/src/capitulo05/bloque02/articulosComestibles/Tienda.java +++ b/src/capitulo05/bloque02/articulosComestibles/Tienda.java @@ -1,8 +1,7 @@ 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) { diff --git a/src/capitulo05/bloque03/animales/Animal.java b/src/capitulo05/bloque03/animales/Animal.java new file mode 100644 index 0000000..b4095e8 --- /dev/null +++ b/src/capitulo05/bloque03/animales/Animal.java @@ -0,0 +1,6 @@ +package capitulo05.bloque03.animales; + +public abstract class Animal { + protected String nombre; + public abstract void emitirSonido(); +} diff --git a/src/capitulo05/bloque03/animales/Gato.java b/src/capitulo05/bloque03/animales/Gato.java new file mode 100644 index 0000000..645c0e3 --- /dev/null +++ b/src/capitulo05/bloque03/animales/Gato.java @@ -0,0 +1,12 @@ +package capitulo05.bloque03.animales; + +public class Gato extends Animal{ + + public Gato() { + } + + @Override + public void emitirSonido() { + System.out.println("🐱: Miau"); + } +} diff --git a/src/capitulo05/bloque03/animales/Perro.java b/src/capitulo05/bloque03/animales/Perro.java new file mode 100644 index 0000000..35b24d6 --- /dev/null +++ b/src/capitulo05/bloque03/animales/Perro.java @@ -0,0 +1,12 @@ +package capitulo05.bloque03.animales; + +public class Perro extends Animal{ + + public Perro() { + } + + @Override + public void emitirSonido() { + System.out.println("🐶: Guau"); + } +} diff --git a/src/capitulo05/bloque03/animales/Principal.java b/src/capitulo05/bloque03/animales/Principal.java new file mode 100644 index 0000000..1ff4cd9 --- /dev/null +++ b/src/capitulo05/bloque03/animales/Principal.java @@ -0,0 +1,18 @@ +package capitulo05.bloque03.animales; + +public class Principal { + public static void main(String[] args) { + Animal[] animales = new Animal[10]; + for (int i = 0; i < animales.length; i++) { + if (Math.round(Math.random()) == 1) { + animales[i] = new Gato(); + } else { + animales[i] = new Perro(); + } + } + + for (Animal animal : animales) { + animal.emitirSonido(); + } + } +} diff --git a/src/capitulo05/bloque03/figuras/Circulo.java b/src/capitulo05/bloque03/figuras/Circulo.java new file mode 100644 index 0000000..888da0d --- /dev/null +++ b/src/capitulo05/bloque03/figuras/Circulo.java @@ -0,0 +1,37 @@ +package capitulo05.bloque03.figuras; + +public class Circulo extends Figura{ + private float radio; + + public Circulo() { + } + + public Circulo(float radio) { + this.radio = radio; + } + + @Override + public float calcularArea() { + return (float) (radio * Math.pow(Math.PI, 2)); + } + + @Override + public float calcularPerimetro() { + return (float) (2 * Math.PI * radio); + } + + public float getRadio() { + return radio; + } + + public void setRadio(float radio) { + this.radio = radio; + } + + @Override + public String toString() { + return "Circulo{" + + "radio=" + radio + + '}'; + } +} diff --git a/src/capitulo05/bloque03/figuras/Figura.java b/src/capitulo05/bloque03/figuras/Figura.java new file mode 100644 index 0000000..87ccc91 --- /dev/null +++ b/src/capitulo05/bloque03/figuras/Figura.java @@ -0,0 +1,7 @@ +package capitulo05.bloque03.figuras; + +public abstract class Figura { + + public abstract float calcularArea(); + public abstract float calcularPerimetro(); +} diff --git a/src/capitulo05/bloque03/figuras/Principal.java b/src/capitulo05/bloque03/figuras/Principal.java new file mode 100644 index 0000000..9bb695d --- /dev/null +++ b/src/capitulo05/bloque03/figuras/Principal.java @@ -0,0 +1,14 @@ +package capitulo05.bloque03.figuras; + +public class Principal { + public static void main(String[] args) { + Circulo circulo = new Circulo(2.4f); + Rectangulo cuadrado = new Rectangulo(3.5f, 6.7f); + + System.out.println("Perímetro Circulo: " + circulo.calcularPerimetro()); + System.out.println("Área Circulo: " + circulo.calcularArea()); + System.out.println("Perímetro Cuadrado: " + cuadrado.calcularPerimetro()); + System.out.println("Área Cuadrado: " + cuadrado.calcularArea()); + + } +} diff --git a/src/capitulo05/bloque03/figuras/Rectangulo.java b/src/capitulo05/bloque03/figuras/Rectangulo.java new file mode 100644 index 0000000..a4b6934 --- /dev/null +++ b/src/capitulo05/bloque03/figuras/Rectangulo.java @@ -0,0 +1,48 @@ +package capitulo05.bloque03.figuras; + +public class Rectangulo extends Figura{ + private float alto; + private float ancho; + + public Rectangulo() { + } + + public Rectangulo(float alto, float ancho) { + this.alto = alto; + this.ancho = ancho; + } + + @Override + public float calcularArea() { + return this.alto * this.ancho; + } + + @Override + public float calcularPerimetro() { + return (this.alto * 2) + (this.ancho * 2); + } + + public float getAlto() { + return alto; + } + + public void setAlto(float alto) { + this.alto = alto; + } + + public float getAncho() { + return ancho; + } + + public void setAncho(float ancho) { + this.ancho = ancho; + } + + @Override + public String toString() { + return "Rectangulo{" + + "alto=" + alto + + ", ancho=" + ancho + + '}'; + } +} diff --git a/src/capitulo05/bloque03/instrumentos/Bateria.java b/src/capitulo05/bloque03/instrumentos/Bateria.java new file mode 100644 index 0000000..ab48f4c --- /dev/null +++ b/src/capitulo05/bloque03/instrumentos/Bateria.java @@ -0,0 +1,9 @@ +package capitulo05.bloque03.instrumentos; + +public class Bateria extends Instrumento{ + + @Override + public void tocar() { + System.out.println("Ba Dum Tss!"); + } +} diff --git a/src/capitulo05/bloque03/instrumentos/Guitarra.java b/src/capitulo05/bloque03/instrumentos/Guitarra.java new file mode 100644 index 0000000..a7ab1e3 --- /dev/null +++ b/src/capitulo05/bloque03/instrumentos/Guitarra.java @@ -0,0 +1,9 @@ +package capitulo05.bloque03.instrumentos; + +public class Guitarra extends Instrumento{ + + @Override + public void tocar() { + System.out.println("Brum brum bram"); + } +} diff --git a/src/capitulo05/bloque03/instrumentos/Instrumento.java b/src/capitulo05/bloque03/instrumentos/Instrumento.java new file mode 100644 index 0000000..147ffc4 --- /dev/null +++ b/src/capitulo05/bloque03/instrumentos/Instrumento.java @@ -0,0 +1,6 @@ +package capitulo05.bloque03.instrumentos; + +public abstract class Instrumento { + + public abstract void tocar(); +} diff --git a/src/capitulo05/bloque03/instrumentos/Piano.java b/src/capitulo05/bloque03/instrumentos/Piano.java new file mode 100644 index 0000000..b6229f3 --- /dev/null +++ b/src/capitulo05/bloque03/instrumentos/Piano.java @@ -0,0 +1,9 @@ +package capitulo05.bloque03.instrumentos; + +public class Piano extends Instrumento{ + + @Override + public void tocar() { + System.out.println("din don din din don"); + } +} diff --git a/src/capitulo05/bloque03/instrumentos/Principal.java b/src/capitulo05/bloque03/instrumentos/Principal.java new file mode 100644 index 0000000..853384e --- /dev/null +++ b/src/capitulo05/bloque03/instrumentos/Principal.java @@ -0,0 +1,24 @@ +package capitulo05.bloque03.instrumentos; + +import capitulo04.utils.Utils; + +public class Principal { + public static void main(String[] args) { + Instrumento[] instrumentos = new Instrumento[10]; + + for (int i = 0; i < instrumentos.length; i++) { + int numAleatorio = Utils.generarIntAleatorioEntreLimites(0,2); + if (numAleatorio == 0) { + instrumentos[i] = new Guitarra(); + } else if (numAleatorio == 1) { + instrumentos[i] = new Piano(); + } else { + instrumentos[i] = new Bateria(); + } + } + + for (Instrumento ins : instrumentos) { + ins.tocar(); + } + } +} diff --git a/src/capitulo05/bloque03/vehiculos/Bicicleta.java b/src/capitulo05/bloque03/vehiculos/Bicicleta.java new file mode 100644 index 0000000..aa9d037 --- /dev/null +++ b/src/capitulo05/bloque03/vehiculos/Bicicleta.java @@ -0,0 +1,19 @@ +package capitulo05.bloque03.vehiculos; + +public class Bicicleta extends Vehiculo{ + + public Bicicleta(int velocidad, String nombreModelo) { + this.setVelocidadActual(velocidad); + this.setModelo(nombreModelo); + } + + @Override + public void acelerar() { + this.setVelocidadActual(getVelocidadActual() + 5); + } + + @Override + public void frenar() { + this.setVelocidadActual(getVelocidadActual() + 4); + } +} diff --git a/src/capitulo05/bloque03/vehiculos/Coche.java b/src/capitulo05/bloque03/vehiculos/Coche.java new file mode 100644 index 0000000..e5f4d0b --- /dev/null +++ b/src/capitulo05/bloque03/vehiculos/Coche.java @@ -0,0 +1,19 @@ +package capitulo05.bloque03.vehiculos; + +public class Coche extends Vehiculo{ + + public Coche(int velocidad, String nombreModelo) { + this.setVelocidadActual(velocidad); + this.setModelo(nombreModelo); + } + + @Override + public void acelerar() { + this.setVelocidadActual(getVelocidadActual() + 20); + } + + @Override + public void frenar() { + this.setVelocidadActual(getVelocidadActual() + 40); + } +} diff --git a/src/capitulo05/bloque03/vehiculos/Principal.java b/src/capitulo05/bloque03/vehiculos/Principal.java new file mode 100644 index 0000000..d6899fc --- /dev/null +++ b/src/capitulo05/bloque03/vehiculos/Principal.java @@ -0,0 +1,37 @@ +package capitulo05.bloque03.vehiculos; + +import capitulo04.utils.Utils; + +public class Principal { + public static void main(String[] args) { + Vehiculo[] vehiculos = new Vehiculo[10]; + + + for (int i = 0; i < vehiculos.length; i++) { + if (Math.round(Math.random()) == 1) { + vehiculos[i] = new Coche(Utils.generarIntAleatorioEntreLimites(0,1000), "Coche-" + i); + } else { + vehiculos[i] = new Coche(Utils.generarIntAleatorioEntreLimites(0,100), "Bici-" + i); + } + } + + System.out.println("Vehículos con velocidad base"); + for (Vehiculo vehiculo : vehiculos) { + System.out.println(vehiculo); + } + + + System.out.println("Vehículos acelerando"); + for (Vehiculo vehiculo : vehiculos) { + vehiculo.acelerar(); + System.out.println(vehiculo); + } + + + System.out.println("Vehículos frenando"); + for (Vehiculo vehiculo : vehiculos) { + vehiculo.frenar(); + System.out.println(vehiculo); + } + } +} diff --git a/src/capitulo05/bloque03/vehiculos/Vehiculo.java b/src/capitulo05/bloque03/vehiculos/Vehiculo.java new file mode 100644 index 0000000..22acd4b --- /dev/null +++ b/src/capitulo05/bloque03/vehiculos/Vehiculo.java @@ -0,0 +1,36 @@ +package capitulo05.bloque03.vehiculos; + +public abstract class Vehiculo { + private int velocidadActual; + private String modelo; + + public abstract void acelerar(); + + public abstract void frenar(); + + + + public int getVelocidadActual() { + return velocidadActual; + } + + public void setVelocidadActual(int velocidadActual) { + this.velocidadActual = velocidadActual; + } + + public String getModelo() { + return modelo; + } + + public void setModelo(String modelo) { + this.modelo = modelo; + } + + @Override + public String toString() { + return "Vehiculo{" + + "velocidadActual=" + velocidadActual + + ", modelo='" + modelo + '\'' + + '}'; + } +}