mirror of
https://gitlab.com/tutorial-java-rafa-munoz/tutorial-java-2024-25/tutorialjava2024-25.git
synced 2025-11-09 18:03:09 +01:00
feat(ch 5): examples & ex added
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package tutorialJava.capitulo5.ejercicios.bloque01_ArrayPersonas;
|
||||
|
||||
public class Persona {
|
||||
|
||||
private String nombre;
|
||||
private String apellidos;
|
||||
private String dni;
|
||||
private String direccion;
|
||||
private String telefono;
|
||||
|
||||
|
||||
public Persona() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Persona(String nombre, String apellidos, String dni, String direccion, String telefono) {
|
||||
super();
|
||||
this.nombre = nombre;
|
||||
this.apellidos = apellidos;
|
||||
this.dni = dni;
|
||||
this.direccion = direccion;
|
||||
this.telefono = telefono;
|
||||
}
|
||||
|
||||
|
||||
public String getNombre() {
|
||||
return nombre;
|
||||
}
|
||||
|
||||
|
||||
public void setNombre(String nombre) {
|
||||
this.nombre = nombre;
|
||||
}
|
||||
|
||||
|
||||
public String getApellidos() {
|
||||
return apellidos;
|
||||
}
|
||||
|
||||
|
||||
public void setApellidos(String apellidos) {
|
||||
this.apellidos = apellidos;
|
||||
}
|
||||
|
||||
|
||||
public String getDni() {
|
||||
return dni;
|
||||
}
|
||||
|
||||
|
||||
public void setDni(String dni) {
|
||||
this.dni = dni;
|
||||
}
|
||||
|
||||
|
||||
public String getDireccion() {
|
||||
return direccion;
|
||||
}
|
||||
|
||||
|
||||
public void setDireccion(String direccion) {
|
||||
this.direccion = direccion;
|
||||
}
|
||||
|
||||
|
||||
public String getTelefono() {
|
||||
return telefono;
|
||||
}
|
||||
|
||||
|
||||
public void setTelefono(String telefono) {
|
||||
this.telefono = telefono;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Persona [nombre=" + nombre + ", apellidos=" + apellidos + ", dni=" + dni + ", direccion=" + direccion
|
||||
+ ", telefono=" + telefono + "]";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package tutorialJava.capitulo5.ejercicios.bloque01_ArrayPersonas;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Principal {
|
||||
|
||||
private static Persona personas[] = new Persona[3];
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
int opcion = 0;
|
||||
Scanner sc = new Scanner(System.in);
|
||||
|
||||
do {
|
||||
opcion = muestraMenu();
|
||||
|
||||
switch (opcion) {
|
||||
case 1:
|
||||
for (int i = 0; i < personas.length; i++) {
|
||||
personas[i] = new Persona();
|
||||
System.out.println("Introduzca nombre de persona");
|
||||
personas[i].setNombre(sc.nextLine());
|
||||
System.out.println("Introduzca apellidos de persona");
|
||||
personas[i].setApellidos(sc.nextLine());
|
||||
System.out.println("Introduzca dni de persona");
|
||||
personas[i].setDni(sc.nextLine());
|
||||
System.out.println("Introduzca dirección de persona");
|
||||
personas[i].setDireccion(sc.nextLine());
|
||||
System.out.println("Introduzca telefono de persona");
|
||||
personas[i].setTelefono(sc.nextLine());
|
||||
}
|
||||
|
||||
break;
|
||||
case 2:
|
||||
for (int i = 0; i < personas.length; i++) {
|
||||
System.out.println(personas[i].toString());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
} while (opcion != 0);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
public static int muestraMenu() {
|
||||
Scanner sc = new Scanner(System.in);
|
||||
System.out.println("\n\nMenú" +
|
||||
"\n0.- Salir" +
|
||||
"\n1.- Introducir datos" +
|
||||
"\n2.- Visualizar datos" +
|
||||
"\n\tIntroduzca su opción: ");
|
||||
return Integer.parseInt(sc.nextLine());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package tutorialJava.capitulo5.independenceDayConHerencia;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class Malvado extends Personaje {
|
||||
|
||||
public Malvado() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Malvado(String nombre) {
|
||||
super(nombre);
|
||||
}
|
||||
|
||||
}
|
||||
110
src/tutorialJava/capitulo5/invasionTierra/CampoBatalla.java
Normal file
110
src/tutorialJava/capitulo5/invasionTierra/CampoBatalla.java
Normal file
@@ -0,0 +1,110 @@
|
||||
package tutorialJava.capitulo5.invasionTierra;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class CampoBatalla {
|
||||
private String nombre;
|
||||
private Humano[] humanos = new Humano[20];
|
||||
private Malvado[] malvados = new Malvado[20];
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public CampoBatalla() {
|
||||
// Inicializo el array de humanos, al ultimo humano le duplico el valor de puntos de vida
|
||||
for (int i = 0; i < humanos.length; i++) {
|
||||
humanos[i] = new Humano();
|
||||
humanos[i].setNombre("Humano-" + i);
|
||||
}
|
||||
Humano ultimoHumano = humanos[humanos.length - 1];
|
||||
ultimoHumano.setPuntosVida(ultimoHumano.getPuntosVida() * 2);
|
||||
// humanos[humanos.length - 1].setPuntosVida(humanos[humanos.length - 1 ].getPuntosVida() * 2);
|
||||
|
||||
// Inicializo el array de Malvados
|
||||
for (int i = 0; i < malvados.length; i++) {
|
||||
malvados[i] = new Malvado();
|
||||
malvados[i].setNombre("Malvado-" + i);
|
||||
}
|
||||
Malvado ultimoMalvado = malvados[malvados.length - 1];
|
||||
ultimoMalvado.setPuntosVida(ultimoMalvado.getPuntosVida() * 2);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void mezclaHumanos() {
|
||||
for (int i = 0; i < humanos.length; i++) {
|
||||
int indiceAlAzar1 = Utils.obtenerNumeroAzar(0, humanos.length - 1);
|
||||
int indiceAlAzar2 = Utils.obtenerNumeroAzar(0, humanos.length - 1);
|
||||
|
||||
Humano aux = humanos[indiceAlAzar1];
|
||||
humanos[indiceAlAzar1] = humanos[indiceAlAzar2];
|
||||
humanos[indiceAlAzar2] = aux;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void mezclaMalvados() {
|
||||
for (int i = 0; i < malvados.length; i++) {
|
||||
int indiceAlAzar1 = Utils.obtenerNumeroAzar(0, malvados.length - 1);
|
||||
int indiceAlAzar2 = Utils.obtenerNumeroAzar(0, malvados.length - 1);
|
||||
|
||||
Malvado aux = malvados[indiceAlAzar1];
|
||||
malvados[indiceAlAzar1] = malvados[indiceAlAzar2];
|
||||
malvados[indiceAlAzar2] = aux;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Humano getPrimerHumanoVivo() {
|
||||
for (int i = 0; i < humanos.length; i++) {
|
||||
if (humanos[i].isVivo() == true) {
|
||||
return humanos[i];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public Malvado getPrimerMalvadoVivo() {
|
||||
for (int i = 0; i < malvados.length; i++) {
|
||||
if (malvados[i].isVivo() == true) {
|
||||
return malvados[i];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public void muestraEstadoActual() {
|
||||
for (int i = 0; i < humanos.length; i++) {
|
||||
System.out.print(humanos[i] + " - ");
|
||||
}
|
||||
System.out.println();
|
||||
for (int i = 0; i < malvados.length; i++) {
|
||||
System.out.print(malvados[i] + " - ");
|
||||
}
|
||||
System.out.println("\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
51
src/tutorialJava/capitulo5/invasionTierra/Humano.java
Normal file
51
src/tutorialJava/capitulo5/invasionTierra/Humano.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package tutorialJava.capitulo5.invasionTierra;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class Humano {
|
||||
private String nombre;
|
||||
private int puntosVida;
|
||||
private boolean vivo;
|
||||
|
||||
|
||||
public Humano () {
|
||||
puntosVida = Utils.obtenerNumeroAzar(50, 100);
|
||||
vivo = true;
|
||||
}
|
||||
|
||||
public void recibirDisparo() {
|
||||
puntosVida -= Utils.obtenerNumeroAzar(5, 25);
|
||||
if (puntosVida <= 0) {
|
||||
vivo = false;
|
||||
puntosVida = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public String getNombre() {
|
||||
return nombre;
|
||||
}
|
||||
|
||||
public void setNombre(String newNombre) {
|
||||
nombre = newNombre;
|
||||
}
|
||||
|
||||
public int getPuntosVida () {
|
||||
return puntosVida;
|
||||
}
|
||||
|
||||
public void setPuntosVida(int newPuntosVida ) {
|
||||
puntosVida = newPuntosVida;
|
||||
}
|
||||
|
||||
public boolean isVivo() {
|
||||
return vivo;
|
||||
}
|
||||
|
||||
public void setVivo(boolean newVivo) {
|
||||
vivo = newVivo;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return nombre + ":" + puntosVida + ":" + vivo;
|
||||
}
|
||||
}
|
||||
50
src/tutorialJava/capitulo5/invasionTierra/Malvado.java
Normal file
50
src/tutorialJava/capitulo5/invasionTierra/Malvado.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package tutorialJava.capitulo5.invasionTierra;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class Malvado {
|
||||
private String nombre;
|
||||
private int puntosVida;
|
||||
private boolean vivo;
|
||||
|
||||
public Malvado() {
|
||||
puntosVida = Utils.obtenerNumeroAzar(50, 100);
|
||||
vivo = true;
|
||||
}
|
||||
|
||||
public void recibirDisparo() {
|
||||
puntosVida -= Utils.obtenerNumeroAzar(5, 25);
|
||||
if (puntosVida <= 0) {
|
||||
vivo = false;
|
||||
puntosVida = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public String getNombre() {
|
||||
return nombre;
|
||||
}
|
||||
|
||||
public void setNombre(String newNombre) {
|
||||
nombre = newNombre;
|
||||
}
|
||||
|
||||
public int getPuntosVida () {
|
||||
return puntosVida;
|
||||
}
|
||||
|
||||
public void setPuntosVida(int newPuntosVida ) {
|
||||
puntosVida = newPuntosVida;
|
||||
}
|
||||
|
||||
public boolean isVivo() {
|
||||
return vivo;
|
||||
}
|
||||
|
||||
public void setVivo(boolean newVivo) {
|
||||
vivo = newVivo;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return nombre + ":" + puntosVida + ":" + vivo;
|
||||
}
|
||||
}
|
||||
62
src/tutorialJava/capitulo5/invasionTierra/Principal.java
Normal file
62
src/tutorialJava/capitulo5/invasionTierra/Principal.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package tutorialJava.capitulo5.invasionTierra;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class Principal {
|
||||
|
||||
public static void main (String[] args) {
|
||||
Scanner sc = new Scanner(System.in);
|
||||
CampoBatalla campo = new CampoBatalla();
|
||||
|
||||
campo.mezclaHumanos();
|
||||
campo.mezclaMalvados();
|
||||
|
||||
campo.muestraEstadoActual();
|
||||
|
||||
do {
|
||||
// Disparar sobre el primera malvado. Necesito que haya
|
||||
// un humano vivo
|
||||
if (campo.getPrimerHumanoVivo() != null) {
|
||||
campo.getPrimerMalvadoVivo().recibirDisparo();
|
||||
}
|
||||
|
||||
// Antes de disparar sobre un humano, debo comprobar que existe
|
||||
// al menos un malvado vivo
|
||||
if (campo.getPrimerMalvadoVivo() != null) {
|
||||
campo.getPrimerHumanoVivo().recibirDisparo();
|
||||
}
|
||||
|
||||
campo.muestraEstadoActual();
|
||||
// sc.nextLine();
|
||||
|
||||
} while (campo.getPrimerHumanoVivo() != null &&
|
||||
campo.getPrimerMalvadoVivo() != null);
|
||||
|
||||
// Muestro el ganador
|
||||
if (campo.getPrimerHumanoVivo() != null) {
|
||||
System.out.println("\nHan ganado los humanos");
|
||||
}
|
||||
else {
|
||||
if (campo.getPrimerMalvadoVivo() != null) {
|
||||
System.out.println("\nHan ganado los malvados");
|
||||
}
|
||||
else {
|
||||
System.out.println("\nEmpate");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user