Compare commits

...

32 Commits

Author SHA1 Message Date
Rafa Muñoz
f4200da990 feat(examen 19/6/25): solucionado 2025-06-19 14:42:28 +02:00
Rafa Muñoz
3ec83f87d6 feat(examen 16/6/25): terminado 2025-06-18 23:02:38 +02:00
Rafa Muñoz
f66e4a5dc0 feat(examen 20250616): panel Gestión equipos 2025-06-16 14:18:55 +02:00
Rafa Muñoz
8d3b26bf60 feat(examen 9-5-25): terminado 2025-06-12 14:59:03 +02:00
Rafa Muñoz
3e859f9db9 feat(examen 9-5-25): agregado segundo panel 2025-06-09 14:01:23 +02:00
Rafa Muñoz
5b3b41dba0 feat(examen 09-05-2025): primer apartado resuelto 2025-06-06 14:00:59 +02:00
Rafa Muñoz
263bd4220b feat(BBDD): updated poblacionEnProvincia 2025-04-21 12:46:10 +02:00
Rafa Muñoz
dc2cbeefbe feat(ch 9): List & Table models from DDBB controllers 2025-04-19 16:33:30 +02:00
Rafa Muñoz
b6b59798dc feat(ch 9): ex 2 added menu 2025-04-03 09:56:51 +02:00
Rafa Muñoz
f0c090da0d feat(ch 9 ex 2): inserted runnable objecto into JPanelDatosPersonales 2025-03-31 12:27:04 +02:00
Rafa Muñoz
abf5adcfe9 feat(ch 9): ex 2 initialized 2025-03-25 15:00:03 +01:00
Rafa Muñoz
8e18fb286b feat(test 20230321): solved 2025-03-24 13:02:40 +01:00
Rafa Muñoz
fbcc8026ed feat(test 20250321): first load 2025-03-24 10:56:20 +01:00
Rafa Muñoz
9ec8ab1912 feat(ch 9): added findAll for ControladorFabricante 2025-03-18 14:30:34 +01:00
Rafa Muñoz
7dbbed7984 fix(ch 9): ex 1 comp error solved 2025-03-13 12:47:50 +01:00
Rafa Muñoz
738c42f160 feat(ch 9): ex 1 finished - Gestión Fabricante 2025-03-13 12:45:15 +01:00
Rafa Muñoz
d8c4fa5e4b feat(ch 9): ex 1 más avanzado. Falta eliminar 2025-03-11 15:00:09 +01:00
Rafa Muñoz
c054a8c34b feat(ch 9): first ex 2025-03-11 13:24:50 +01:00
Rafa Muñoz
037db3e9a8 feat(ch 9): refactorized examples 2025-03-11 11:01:04 +01:00
Rafa Muñoz
ac7ecde4d4 feat(ch 9): ejemplo ventana fabricante 2025-03-10 13:02:26 +01:00
Rafa Muñoz
4ce56eecb3 kk 2025-03-04 13:51:37 +01:00
Rafa Muñoz
3f082aa864 feat(test 20250221): solved 2025-02-24 13:09:16 +01:00
Rafa Muñoz
8eba8ca7e3 3307 2025-02-18 13:17:49 +01:00
Rafa Muñoz
1b2b2350f1 feat(ch 8 & 9): added 2025-02-16 19:47:41 +01:00
Rafa Muñoz
acb8877882 feat(examen entrenamiento): 20230902 2025-01-30 14:58:47 +01:00
Rafa Muñoz
bc80b72094 feat(corrección): 28-ene-25 2025-01-28 14:59:59 +01:00
Rafa Muñoz
1f7add9db3 feat(ch 6 & 7): ex solved 2025-01-27 23:17:15 +01:00
Rafa Muñoz
2fbd405616 feat(ch 7): reorganised 2025-01-21 10:13:10 +01:00
Rafa Muñoz
ed4fa3294a feat(ch 7): listeners ex added - LluviaListener 2025-01-20 13:00:28 +01:00
Rafa Muñoz
416b2d0e7a feat(exceptions ch 7): changes into main method 2025-01-14 13:01:15 +01:00
Rafa Muñoz
f62f0178ad feat(ch 7): minimal changes into comments 2025-01-14 12:48:46 +01:00
Rafa Muñoz
366d9f0855 feat(ch 6): solved ex block 1 2025-01-14 12:26:37 +01:00
314 changed files with 101674 additions and 106 deletions

View File

@@ -6,5 +6,20 @@
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="librerias/Driver_MySQL_Connector_J/mysql-connector-java-8.0.19.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/jpa/javax.persistence_2.1.0.v201304241213.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/jpa/org.eclipse.persistence.jpa.modelgen_2.5.2.v20140319-9ad6abd.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/jpa/org.eclipse.persistence.jpars_2.5.2.v20140319-9ad6abd.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/moxy/com.sun.tools.xjc_2.2.0.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/moxy/com.sun.xml.bind_2.2.0.v201004141950.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/moxy/javax.activation_1.1.0.v201108011116.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/moxy/javax.mail_1.4.0.v201005080615.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/moxy/javax.xml.bind_2.2.0.v201105210648.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/moxy/javax.xml.stream_1.0.1.v201004272200.jar"/>
<classpathentry kind="lib" path="librerias/EclipseLink2.5.2/jlib/eclipselink.jar"/>
<classpathentry kind="lib" path="librerias/Jackson/jackson-annotations-2.9.0.jar"/>
<classpathentry kind="lib" path="librerias/Jackson/jackson-core-2.9.5.jar"/>
<classpathentry kind="lib" path="librerias/Jackson/jackson-databind-2.9.5.jar"/>
<classpathentry kind="lib" path="librerias/mongoDB-Java-driver/mongo-java-driver-3.12.12.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,174 @@
CREATE DATABASE IF NOT EXISTS `centroeducativo` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `centroeducativo`;
-- MySQL dump 10.13 Distrib 5.6.13, for Win32 (x86)
--
-- Host: 127.0.0.1 Database: centroeducativo
-- ------------------------------------------------------
-- Server version 5.6.16-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `curso`
--
DROP TABLE IF EXISTS `curso`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `curso` (
`id` int(11) NOT NULL,
`descripcion` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `curso`
--
LOCK TABLES `curso` WRITE;
/*!40000 ALTER TABLE `curso` DISABLE KEYS */;
INSERT INTO `curso` VALUES (1,'2017-18');
/*!40000 ALTER TABLE `curso` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `estudiante`
--
DROP TABLE IF EXISTS `estudiante`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `estudiante` (
`id` int(11) NOT NULL,
`nombre` varchar(150) DEFAULT NULL,
`apellido1` varchar(150) DEFAULT NULL,
`apellido2` varchar(150) DEFAULT NULL,
`dni` varchar(15) DEFAULT NULL,
`direccion` varchar(250) DEFAULT NULL,
`email` varchar(150) DEFAULT NULL,
`telefono` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `estudiante`
--
LOCK TABLES `estudiante` WRITE;
/*!40000 ALTER TABLE `estudiante` DISABLE KEYS */;
INSERT INTO `estudiante` VALUES (1,'Julio','Mármol','Mármol','14785236A','dir, 21','adsf','654785214'),(2,'Francisco','Fernández','Fernández','52874369B','dir, 24','f@f.com','741258963'),(3,'Miguel','Palacios','Fernández','58963214C','dir, 26','m@m.com','632521478');
/*!40000 ALTER TABLE `estudiante` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `materia`
--
DROP TABLE IF EXISTS `materia`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `materia` (
`id` int(11) NOT NULL,
`nombre` varchar(100) DEFAULT NULL,
`acronimo` varchar(15) DEFAULT NULL,
`curso_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_asignatura_curso1_idx` (`curso_id`),
CONSTRAINT `fk_asignatura_curso1` FOREIGN KEY (`curso_id`) REFERENCES `curso` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `materia`
--
LOCK TABLES `materia` WRITE;
/*!40000 ALTER TABLE `materia` DISABLE KEYS */;
INSERT INTO `materia` VALUES (1,'Programación','PROG',1),(2,'Lenguajes de Marcas y Sistemas de Gestión de la Información','LMSGI',1),(3,'Sistemas Informáticos','SI',1),(4,'Entornos de Desarrollo','EntDes',1),(5,'Bases de Datos','BD',1),(6,'Formación y Orientación Laboral','FOL',1);
/*!40000 ALTER TABLE `materia` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `profesor`
--
DROP TABLE IF EXISTS `profesor`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `profesor` (
`id` int(11) NOT NULL,
`nombre` varchar(150) DEFAULT NULL,
`apellido1` varchar(150) DEFAULT NULL,
`apellido2` varchar(150) DEFAULT NULL,
`dni` varchar(15) DEFAULT NULL,
`direccion` varchar(250) DEFAULT NULL,
`email` varchar(150) DEFAULT NULL,
`telefono` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `profesor`
--
LOCK TABLES `profesor` WRITE;
/*!40000 ALTER TABLE `profesor` DISABLE KEYS */;
INSERT INTO `profesor` VALUES (1,'Rafael Carlos','López','Ruiz','12345678b','Su casa, 34','asdf','sdaf'),(2,'Joaquín','Molinero','Suárez','23456789B','Su casa también, 42','joaquin@joaquin.com','654789322'),(3,'Miguel Ángel','Pérez','Carmona','98765432C','Otra casa, 12','miguel@miguel.com','654147852'),(4,'Alejandro','Fernández','Fernández','47125896D','Allí, 65','alejandro@alejandro.com','658974125'),(5,'Águeda','Cuenca','Cuenca','96325874','Graná, 25','','698521478');
/*!40000 ALTER TABLE `profesor` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `valoracionmateria`
--
DROP TABLE IF EXISTS `valoracionmateria`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `valoracionmateria` (
`id` int(11) NOT NULL,
`idProfesor` int(11) NOT NULL,
`idEstudiante` int(11) NOT NULL,
`idMateria` int(11) NOT NULL,
`valoracion` float DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_asignatura_profesor_idx` (`idProfesor`),
KEY `fk_asignatura_estudiante1_idx` (`idEstudiante`),
KEY `fk_asignatura_asignatura1_idx` (`idMateria`),
CONSTRAINT `fk_asignatura_asignatura1` FOREIGN KEY (`idMateria`) REFERENCES `materia` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_asignatura_estudiante1` FOREIGN KEY (`idEstudiante`) REFERENCES `estudiante` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_asignatura_profesor` FOREIGN KEY (`idProfesor`) REFERENCES `profesor` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `valoracionmateria`
--
LOCK TABLES `valoracionmateria` WRITE;
/*!40000 ALTER TABLE `valoracionmateria` DISABLE KEYS */;
INSERT INTO `valoracionmateria` VALUES (1,1,1,1,6),(2,1,1,2,7),(3,2,1,3,6),(4,3,1,4,6),(5,4,1,5,8),(6,5,1,6,4),(7,1,2,1,5),(8,1,2,2,7),(9,2,2,3,8),(10,3,2,4,5),(11,4,2,5,6),(12,5,2,6,4);
/*!40000 ALTER TABLE `valoracionmateria` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2019-04-09 10:05:53

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,97 @@
[
{
"parent_code": "0",
"label": "Andalucía",
"code": "01"
},
{
"parent_code": "0",
"label": "Aragón",
"code": "02"
},
{
"parent_code": "0",
"label": "Asturias, Principado de",
"code": "03"
},
{
"parent_code": "0",
"label": "Balears, Illes",
"code": "04"
},
{
"parent_code": "0",
"label": "Canarias",
"code": "05"
},
{
"parent_code": "0",
"label": "Cantabria",
"code": "06"
},
{
"parent_code": "0",
"label": "Castilla y León",
"code": "07"
},
{
"parent_code": "0",
"label": "Castilla - La Mancha",
"code": "08"
},
{
"parent_code": "0",
"label": "Cataluńa",
"code": "09"
},
{
"parent_code": "0",
"label": "Comunitat Valenciana",
"code": "10"
},
{
"parent_code": "0",
"label": "Extremadura",
"code": "11"
},
{
"parent_code": "0",
"label": "Galicia",
"code": "12"
},
{
"parent_code": "0",
"label": "Madrid, Comunidad de",
"code": "13"
},
{
"parent_code": "0",
"label": "Murcia, Región de",
"code": "14"
},
{
"parent_code": "0",
"label": "Navarra, Comunidad Foral de",
"code": "15"
},
{
"parent_code": "0",
"label": "País Vasco",
"code": "16"
},
{
"parent_code": "0",
"label": "Rioja, La",
"code": "17"
},
{
"parent_code": "0",
"label": "Ceuta",
"code": "18"
},
{
"parent_code": "0",
"label": "Melilla",
"code": "19"
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,262 @@
[
{
"parent_code": "01",
"code": "04",
"label": "Almería"
},
{
"parent_code": "01",
"code": "11",
"label": "Cádiz"
},
{
"parent_code": "01",
"code": "14",
"label": "Córdoba"
},
{
"parent_code": "01",
"code": "18",
"label": "Granada"
},
{
"parent_code": "01",
"code": "21",
"label": "Huelva"
},
{
"parent_code": "01",
"code": "23",
"label": "Jaén"
},
{
"parent_code": "01",
"code": "29",
"label": "Málaga"
},
{
"parent_code": "01",
"code": "41",
"label": "Sevilla"
},
{
"parent_code": "02",
"code": "22",
"label": "Huesca"
},
{
"parent_code": "02",
"code": "44",
"label": "Teruel"
},
{
"parent_code": "02",
"code": "50",
"label": "Zaragoza"
},
{
"parent_code": "03",
"code": "33",
"label": "Asturias"
},
{
"parent_code": "04",
"code": "07",
"label": "Balears, Illes"
},
{
"parent_code": "05",
"code": "35",
"label": "Palmas, Las"
},
{
"parent_code": "05",
"code": "38",
"label": "Santa Cruz de Tenerife"
},
{
"parent_code": "06",
"code": "39",
"label": "Cantabria"
},
{
"parent_code": "07",
"code": "05",
"label": "Ávila"
},
{
"parent_code": "07",
"code": "09",
"label": "Burgos"
},
{
"parent_code": "07",
"code": "24",
"label": "León"
},
{
"parent_code": "07",
"code": "34",
"label": "Palencia"
},
{
"parent_code": "07",
"code": "37",
"label": "Salamanca"
},
{
"parent_code": "07",
"code": "40",
"label": "Segovia"
},
{
"parent_code": "07",
"code": "42",
"label": "Soria"
},
{
"parent_code": "07",
"code": "47",
"label": "Valladolid"
},
{
"parent_code": "07",
"code": "49",
"label": "Zamora"
},
{
"parent_code": "08",
"code": "02",
"label": "Albacete"
},
{
"parent_code": "08",
"code": "13",
"label": "Ciudad Real"
},
{
"parent_code": "08",
"code": "16",
"label": "Cuenca"
},
{
"parent_code": "08",
"code": "19",
"label": "Guadalajara"
},
{
"parent_code": "08",
"code": "45",
"label": "Toledo"
},
{
"parent_code": "09",
"code": "08",
"label": "Barcelona"
},
{
"parent_code": "09",
"code": "17",
"label": "Girona"
},
{
"parent_code": "09",
"code": "25",
"label": "Lleida"
},
{
"parent_code": "09",
"code": "43",
"label": "Tarragona"
},
{
"parent_code": "10",
"code": "03",
"label": "Alicante/Alacant"
},
{
"parent_code": "10",
"code": "12",
"label": "Castellón/Castelló"
},
{
"parent_code": "10",
"code": "46",
"label": "Valencia/València"
},
{
"parent_code": "11",
"code": "06",
"label": "Badajoz"
},
{
"parent_code": "11",
"code": "10",
"label": "Cáceres"
},
{
"parent_code": "12",
"code": "15",
"label": "Coruña, A"
},
{
"parent_code": "12",
"code": "27",
"label": "Lugo"
},
{
"parent_code": "12",
"code": "32",
"label": "Ourense"
},
{
"parent_code": "12",
"code": "36",
"label": "Pontevedra"
},
{
"parent_code": "13",
"code": "28",
"label": "Madrid"
},
{
"parent_code": "14",
"code": "30",
"label": "Murcia"
},
{
"parent_code": "15",
"code": "31",
"label": "Navarra"
},
{
"parent_code": "16",
"code": "01",
"label": "Araba/Álava"
},
{
"parent_code": "16",
"code": "48",
"label": "Bizkaia"
},
{
"parent_code": "16",
"code": "20",
"label": "Gipuzkoa"
},
{
"parent_code": "17",
"code": "26",
"label": "Rioja, La"
},
{
"parent_code": "18",
"code": "51",
"label": "Ceuta"
},
{
"parent_code": "19",
"code": "52",
"label": "Melilla"
}
]

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -114,6 +114,41 @@ public class Utils {
}
/**
* Obtiene un número entero a través de un objeto Scanner
* @return Número entero introducido por el usuario.
*/
public static double obtenerDoublePorScanner() {
Scanner sc = new Scanner(System.in);
while (true) {
try {
return sc.nextDouble();
} catch (Exception ex) {
System.out.println("Error, introduce un número double: ");
sc.nextLine();
}
}
}
/**
* Obtiene un número entero a través de un objeto Scanner
* @return Número entero introducido por el usuario.
*/
public static double obtenerDoublePorScanner(String mensaje) {
System.out.println(mensaje);
return obtenerDoublePorScanner();
}
/**
* Obtiene un número entero a través de un objeto Scanner
* @return Número entero introducido por el usuario.
*/
public static float obtenerFloatPorScanner(String mensaje) {
return (float) obtenerDoublePorScanner(mensaje);
}
/**
* Obtiene un número entero a través de un JOptionPane
* @return Número entero introducido a través de un JOptionPane.
@@ -143,6 +178,11 @@ public class Utils {
return num;
}
public static double obtenerDoubleConDescripcion(String desc) {
System.out.println(desc);
return obtenerDoublePorScanner();
}
/**
*
* @return Número entero introducido por el usuario

View File

@@ -10,6 +10,7 @@ public class Ejemplo01_ListasConInteger {
// Declarado la lista de Integers
List<Integer> numeros = new ArrayList<Integer>();
// Inicializar con 10 elementos de tipo Integer
for (int i = 0; i < 10; i++) {
// numeros.add(new Integer(100 + i)); // Deprecado
@@ -21,10 +22,10 @@ public class Ejemplo01_ListasConInteger {
numeros.add(1000);
// Elimino un elemento
numeros.remove(2);
numeros.remove(Integer.valueOf(102));
// Inserto un elemento en una posición concreta
numeros.add(1, 5000);
numeros.add(2, 5000);
// Crear una nueva lista
List<Integer> numerosNegativos = new ArrayList<Integer>();

View File

@@ -1,6 +1,7 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejemplo01_ListYArrayList.cromosBaloncesto;
public class CromoBaloncesto {
private int id;
private String nombre;
/**

View File

@@ -13,32 +13,30 @@ public class EjemploListasCromos {
List<CromoBaloncesto> lista = new ArrayList<CromoBaloncesto>();
lista.add(c1);
lista.add(c2);
lista.add(10, c3);
lista.add(c3);
for (CromoBaloncesto c : lista) {
System.out.println(c.getNombre());
}
CromoBaloncesto c4 = new CromoBaloncesto(4, "Araceli Pacheco");
CromoBaloncesto c5 = new CromoBaloncesto(5, "María Jesús Joyanes");
CromoBaloncesto c6 = new CromoBaloncesto(6, "Candela Écija");
List<CromoBaloncesto> lista2 = new ArrayList<CromoBaloncesto>();
lista2.add(c4);
lista2.add(c5);
lista2.add(c6);
// CromoBaloncesto c4 = new CromoBaloncesto(4, "Cristina Castro");
// CromoBaloncesto c5 = new CromoBaloncesto(5, "María Jesús Joyanes");
// CromoBaloncesto c6 = new CromoBaloncesto(6, "Alazne Ruiz");
//
// List<CromoBaloncesto> lista2 = new ArrayList<CromoBaloncesto>();
// lista2.add(c4);
// lista2.add(c5);
// lista2.add(c6);
//
// lista.addAll(1, lista2);
//
// lista.removeAll(lista);
//
// System.out.println("VAcía: " + lista.isEmpty());
//
// for (CromoBaloncesto c : lista) {
// System.out.println(c.toString());
// }
lista.addAll(1, lista2);
lista.removeAll(lista);
System.out.println("VAcía: " + lista.isEmpty());
for (CromoBaloncesto c : lista) {
System.out.println(c.toString());
}
}
}

View File

@@ -19,13 +19,11 @@ public class EjemploHashMap {
hm.put("4", new Persona ("44444444A", "Torralbo Torralbo", "Patricia"));
hm.put("5", new Persona ("55555555A", "Lérida Lérida", "Lucía"));
// Recuperación de datos en un HashMap general
System.out.println("Objeto con id 1: " + hm.get("1")); // Recuperación de un solo objeto
// Inserción de un objeto con un tipo de identificador diferente
hm.put(Integer.valueOf(6), new Persona ("66666666A", "Ramírez Ramírez", "Ramiro"));
hm.put(6, new Persona ("66666666A", "Ramírez Ramírez", "Ramiro"));
// Recuperación de todas las claves de objetos en el HM
System.out.println("\nRecorrido del HashMap:");
@@ -50,7 +48,7 @@ public class EjemploHashMap {
hm.put("3", new Persona ("33333333A", "Cuenca Cuenca", "Juan"));
hm.put("4", new Persona ("44444444A", "Torralbo Torralbo", "Patricia"));
hm.put("5", new Persona ("55555555A", "Lérida Lérida", "Lucía"));
// Eliminación de algún elemento en el HM
hm.remove("5");
@@ -69,7 +67,7 @@ public class EjemploHashMap {
* @param args
*/
public static void main (String args[]) {
ejemploHashMapGeneral();
//ejemploHashMapEspecifico();
// ejemploHashMapGeneral();
ejemploHashMapEspecifico();
}
}

View File

@@ -0,0 +1,125 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque01_listas;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import tutorialJava.Utils;
public class Ejercicio01_ListasConInteger {
private static List<Integer> enteros = new ArrayList<Integer>();
public static void main(String[] args) {
int opcionMenu = 0, posicionAInsertar;
do {
opcionMenu = mostrarMenu();
switch(opcionMenu) {
case 1: // Crear aleatoriamente la lista de valores
enteros.clear();
enteros.addAll(creaLista());
break;
case 2: // suma, media, mayor y menor
calculaSumaMediaMayorMenor();
break;
case 3: // agregar una nueva cantidad de valores
posicionAInsertar = Utils.obtenerEnteroConDescripcion("Dime la posición a "
+ "insertar los nuevos valores en la lista");
enteros.addAll(posicionAInsertar, creaLista());
break;
case 4: // Eliminar elementos dentro de un intervalo
int eliminados = eliminarElementosEnIntervalo(
Utils.obtenerEnteroConDescripcion("Dame un mínimo para eliminar: "),
Utils.obtenerEnteroConDescripcion("Dame un máximo para eliminar: "));
System.out.println("Se han eliminado: " + eliminados);
break;
case 5: // Imprime la lista
for (Integer e : enteros) {
System.out.print(e.intValue() + " ");
}
System.out.println();
}
} while(opcionMenu != 0);
}
/**
* Este método.......
* @param min Este parámetro....
* @param max
*/
private static int eliminarElementosEnIntervalo (int min, int max) {
int contEliminados = 0;
for (int i = enteros.size()-1; i > -1 ; i--) {
if (enteros.get(i).intValue() > min && enteros.get(i).intValue() < max) {
enteros.remove(i);
contEliminados++;
}
}
return contEliminados;
}
/**
*
*/
private static void calculaSumaMediaMayorMenor () {
int suma = 0;
int mayor = enteros.get(0).intValue();
int menor = enteros.get(0).intValue();
for (Integer entero : enteros) {
suma += entero.intValue();
if (entero.intValue() > mayor) {
mayor = entero.intValue();
}
if (entero.intValue() < menor) {
menor = entero.intValue();
}
}
System.out.println("La suma vale: " + suma);
System.out.println("La media vale: " + (suma / (float) enteros.size()) );
System.out.println("El menor es: " + menor);
System.out.println("El mayor es: " + mayor);
}
/**
*
*/
private static List<Integer> creaLista () {
List<Integer> lista = new ArrayList<Integer>();
int longitud = Utils.obtenerEnteroConDescripcion("Dame la longitud de la lista: ");
int max = Utils.obtenerEnteroConDescripcion("Valor máximo: ");
int min = Utils.obtenerEnteroConDescripcion("Valor mínimo: ");
for (int i = 0; i < longitud; i++) {
lista.add(Utils.obtenerNumeroAzar(min, max));
}
return lista;
}
/**
*
* @return
*/
private static int mostrarMenu() {
System.out.println("MENÚ DEL PROGRAMA");
System.out.println("0.- Abandonar programa");
System.out.println("1.- Crear aleatoriamente lista de valores");
System.out.println("2.- Calcular suma, media, mínimo y máximo.");
System.out.println("3.- Agregar cantidad nuevos valores");
System.out.println("4.- Eliminar elementos en un intervalo");
System.out.println("5.- Imprimir lista");
System.out.println("Escribe la opción (0-5):");
return new Scanner(System.in).nextInt();
}
}

View File

@@ -0,0 +1,93 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque01_listas;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import tutorialJava.Utils;
public class FicheroTextoConListaDeStrings {
private static List<String> fichero = new ArrayList<String>();
private static List<String> portapapeles = new ArrayList<String>();
/**
*
* @param args
*/
public static void main(String[] args) {
int opcion;
do {
opcion = mostrarMenu();
switch (opcion) {
case 1: // Agregar una línea al final del fichero
fichero.add(Utils.obtenerCadenaConDescripcion("Inserte la nueva línea: "));
break;
case 2: // Insertar una línea en cualquier lugar del fichero
fichero.add(
Utils.obtenerEnteroConDescripcion("Dame una posición para insertar la línea:"),
Utils.obtenerCadenaConDescripcion("Dame la nueva línea: "));
break;
case 3: // Editar una línea
int posicionAEditar = Utils.obtenerEnteroConDescripcion("Posición a editar: ");
fichero.remove(posicionAEditar);
fichero.add(
posicionAEditar,
Utils.obtenerCadenaConDescripcion("Dame la nueva línea: "));
break;
case 4: // elimiar una línea
fichero.remove(Utils.obtenerEnteroConDescripcion("Indica la línea a eliminar: "));
break;
case 5: // Llevar al portapapeles un conjunto de líneas
int lineaIni = Utils.obtenerEnteroConDescripcion("Primera línea a cortar: ");
int lineaFin = Utils.obtenerEnteroConDescripcion("Última línea a cortar: ");
portapapeles.clear();
for (int i = lineaIni; i <= lineaFin; i++) {
portapapeles.add(fichero.get(lineaIni));
fichero.remove(lineaIni);
}
break;
case 6:
fichero.addAll(
Utils.obtenerEnteroConDescripcion("Indica dónde quieres insertar "
+ "las linás cortadas: "),
portapapeles);
break;
case 7: // Ver el fichero
System.out.println("Contenido del fichero: ");
for (String linea : fichero) {
System.out.println(linea);
}
System.out.println("\n");
break;
}
} while (opcion != 0);
}
/**
*
* @return
*/
private static int mostrarMenu() {
System.out.println("MENÚ DEL PROGRAMA");
System.out.println("0.- Abandonar programa");
System.out.println("1.- Agregar una línea al texto");
System.out.println("2.- Insertar una línea en cualquier posición del texto.");
System.out.println("3.- Editar una línea (reescribir su contenido)");
System.out.println("4.- Borrar una línea");
System.out.println("5.- Cortar un conjunto de líneas, (marcadas por su posición inicial y final).");
System.out.println("6.- Pegar un conjunto de líneas, (marcadas por su posición).");
System.out.println("7.- Imprimir el fichero");
System.out.println("Escribe la opción (0-7):");
return new Scanner(System.in).nextInt();
}
}

View File

@@ -0,0 +1,65 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque02_Hashmap;
public class Articulo {
private String nombre;
private int codigoDeBarras;
private int numeroDeEstante;
private int stock;
/**
*
*/
public Articulo() {
super();
}
/**
* @param nombre
* @param codigoDeBarras
* @param numeroDeEstante
* @param stock
*/
public Articulo(String nombre, int codigoDeBarras, int numeroDeEstante, int stock) {
super();
this.nombre = nombre;
this.codigoDeBarras = codigoDeBarras;
this.numeroDeEstante = numeroDeEstante;
this.stock = stock;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getCodigoDeBarras() {
return codigoDeBarras;
}
public void setCodigoDeBarras(int codigoDeBarras) {
this.codigoDeBarras = codigoDeBarras;
}
public int getNumeroDeEstante() {
return numeroDeEstante;
}
public void setNumeroDeEstante(int numeroDeEstante) {
this.numeroDeEstante = numeroDeEstante;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
@Override
public String toString() {
return "Articulo [nombre=" + nombre + ", codigoDeBarras=" + codigoDeBarras + ", numeroDeEstante="
+ numeroDeEstante + ", stock=" + stock + "]";
}
}

View File

@@ -0,0 +1,116 @@
package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque02_Hashmap;
import java.util.HashMap;
import java.util.Scanner;
public class Principal {
private static HashMap<Integer, Articulo> hm =
new HashMap<Integer, Articulo> ();
/**
*
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int opcion;
Articulo art = null;
do {
opcion = menu(); // Muestro menú y recojo selección del usuario
// Trato la opción elegida
switch (opcion) {
case 0:
System.exit(0);
break;
case 1: // Ver artículos
mostrarArticulos();
break;
case 2: // Insertar artículo
insertarArticulo();
break;
case 3: // Eliminar artículo
System.out.println("Introduzca el codigo de barras deel artículo a eliminar: ");
int codigoAEliminar = sc.nextInt();
hm.remove(codigoAEliminar);
break;
case 4: // Modificar artículo
modificarArticulo();
break;
}
} while (true);
}
/**
*
* @return
*/
private static int menu() {
Scanner sc = new Scanner(System.in);
System.out.println("Elige lo que desea hacer:");
System.out.println("0.-Salir");
System.out.println("1.-Ver los objeatos del almecen");
System.out.println("2.-Insertar nuevo artículo");
System.out.println("3.-Eliminar un articulo");
System.out.println("4.-Actualizar un articulo");
return sc.nextInt();
}
/**
*
*/
private static void mostrarArticulos() {
Object claves[] = hm.keySet().toArray();
for (int i = 0; i < claves.length; i++) {
System.out.println("Codigo de barras: " + claves[i] +
"\nDatos del " + hm.get(claves[i]));
}
}
/**
*
*/
private static void insertarArticulo() {
Scanner sc = new Scanner(System.in);
System.out.println("Introduzca codigo de barras: ");
int cB = sc.nextInt();
System.out.println("Introduzca nombre: ");
String nombre = sc.next();
System.out.println("Introduzca número de estanteria: ");
int estanteria = sc.nextInt();
System.out.println("Introduzca stock: ");
int cantidad = sc.nextInt();
hm.put(cB, new Articulo(nombre, cB, estanteria, cantidad));
}
/**
*
*/
private static void modificarArticulo() {
Scanner sc = new Scanner(System.in);
Articulo art = new Articulo();
System.out.println("Introzuca codigo de barras: ");
art.setCodigoDeBarras(sc.nextInt());
System.out.println("Introduzca nombre: ");
art.setNombre(sc.next());
System.out.println("Introduzca número de estanteria: ");
art.setNumeroDeEstante(sc.nextInt());
System.out.println("Introduzca stock: ");
art.setStock(sc.nextInt());
hm.replace(art.getCodigoDeBarras(), art);
}
}

View File

@@ -7,11 +7,11 @@ import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class EjemploFicheroPropiedades {
public class Ejemplo01_FicheroPropiedades {
private static Properties propiedades = null;
public EjemploFicheroPropiedades () {
public Ejemplo01_FicheroPropiedades () {
super();
}
@@ -78,9 +78,9 @@ public class EjemploFicheroPropiedades {
* @param args
*/
public static void main (String args[]) {
String usuario = EjemploFicheroPropiedades.getProperty("USUARIO");
String password = EjemploFicheroPropiedades.getProperty("PASSWORD");
int id = EjemploFicheroPropiedades.getIntProperty("ID_USUARIO");
String usuario = Ejemplo01_FicheroPropiedades.getProperty("USUARIO");
String password = Ejemplo01_FicheroPropiedades.getProperty("PASSWORD");
int id = Ejemplo01_FicheroPropiedades.getIntProperty("ID_USUARIO");
System.out.println("Usuario leído del fichero de propiedades: " + usuario);
System.out.println("Password leído del fichero de propiedades: " + password);

View File

@@ -1,6 +1,6 @@
package tutorialJava.capitulo7_Recursos;
public class EjemploMath {
public class Ejemplo01_Math {
public static void main(String[] args) {
// La clase Math tiene una cantidad importante de métodos que podemos utilizar en cálculos muy diversos

View File

@@ -1,6 +1,6 @@
package tutorialJava.capitulo7_Recursos;
public class EjemploString {
public class Ejemplo01_String {
public static void main(String[] args) {
String str = "Cadena de texto de tamaño mediano";

View File

@@ -1,6 +1,6 @@
package tutorialJava.capitulo7_Recursos;
public class EjemploWrappersTiposPrimitivos {
public class Ejemplo01_WrappersTiposPrimitivos {
public static void main (String args[]) {

View File

@@ -9,7 +9,7 @@ import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
public class EjemploDateCalendar {
public class Ejemplo02_DateCalendar {
/**
*
@@ -100,9 +100,9 @@ public class EjemploDateCalendar {
System.out.println("Mes (0 es Enero): " + ahora.get(Calendar.MONTH));
ahora.set(Calendar.MONTH, Calendar.JANUARY);
System.out.println("Month (String): " + ahora.getDisplayName(Calendar.MONTH, Calendar.SHORT, locale));
System.out.println("D<EFBFBD>a del mes: " + ahora.get(Calendar.DAY_OF_MONTH));
System.out.println("D<EFBFBD>a de la semana (0 es Domingo): " + ahora.get(Calendar.DAY_OF_WEEK));
System.out.println("D<EFBFBD>a de la semana (String): "
System.out.println("Día del mes: " + ahora.get(Calendar.DAY_OF_MONTH));
System.out.println("Día de la semana (0 es Domingo): " + ahora.get(Calendar.DAY_OF_WEEK));
System.out.println("Día de la semana (String): "
+ ahora.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, locale));
System.out.println("Semana del año: " + ahora.get(Calendar.WEEK_OF_YEAR));
System.out.println("Semana del mes: " + ahora.get(Calendar.WEEK_OF_MONTH));
@@ -179,7 +179,7 @@ public class EjemploDateCalendar {
Calendar ahoraEnCanada = Calendar.getInstance(TimeZone.getTimeZone("Canada/Central"));
Calendar ahoraEnNewYork = Calendar.getInstance(TimeZone.getTimeZone("America/New_York"));
System.out.println("Hora espa<EFBFBD>ola: " + ahoraEnEspania.get(Calendar.HOUR_OF_DAY));
System.out.println("Hora española: " + ahoraEnEspania.get(Calendar.HOUR_OF_DAY));
System.out.println("Hora canadiense: " + ahoraEnCanada.get(Calendar.HOUR_OF_DAY));
System.out.println("Hora en New York: " + ahoraEnNewYork.get(Calendar.HOUR_OF_DAY));
@@ -206,7 +206,7 @@ public class EjemploDateCalendar {
// ejemploLecturaCamposIndividualizadosYLocaleEnImpresion();
// ejemploSumaRestaFechas();
// ejemploComparacionFechas();
//ejemploDiasEntreDosFechas();
// ejemploDiasEntreDosFechas();
ejemploZonasHorarias();
}

View File

@@ -1,6 +1,6 @@
package tutorialJava.capitulo7_Recursos;
public class EjemploRecursividad_Factorial {
public class Ejemplo05_Recursividad_Factorial {
public static void main(String[] args) {
System.out.println("Mediante no recursividad: " + factorialNoRecursivo(6));
@@ -24,3 +24,16 @@ public class EjemploRecursividad_Factorial {
}
}

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.excepciones;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
@@ -131,7 +131,9 @@ public class EjemploExcepcionesBasico {
private static void ejemploClassNotFoundException () {
try {
// Ejemplo de instanciaci<EFBFBD>n de un objeto
Persona persona = (Persona) Class.forName("tutorialJava.capitulo7_Recursos.excepciones.Persona").newInstance();
Persona persona = (Persona)
Class.forName("tutorialJava.capitulo7_Recursos.excepciones.Persona")
.newInstance();
System.out.println("Objeto instanciado: " + persona);
// Ejemplo de obtenci<EFBFBD>n de las propiedades de un objeto
@@ -157,7 +159,7 @@ public class EjemploExcepcionesBasico {
System.out.println("Mensaje de error: " + ex.getMessage() + "\n\n");
ex.printStackTrace();
} catch (InstantiationException e) {
System.out.println("Error de instanciaci<EFBFBD>n de una clase");
System.out.println("Error de instanciación de una clase");
System.out.println("Mensaje de error: " + e.getMessage() + "\n\n");
e.printStackTrace();
} catch (IllegalAccessException e) {
@@ -200,9 +202,9 @@ public class EjemploExcepcionesBasico {
// ejemploExceptionGeneral();
// ejemploNullPointerException();
// ejemploArithmeticException();
//ejemploClassCastException();
//ejemploIndexOutOfBoundsException();
//ejemploNumberFormatException();
ejemploClassNotFoundException();
ejemploClassCastException();
// ejemploIndexOutOfBoundsException();
// ejemploNumberFormatException();
// ejemploClassNotFoundException();
}
}

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.excepciones;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones;
public class EjemploLanzamientoExcepcionPropia {
@@ -9,7 +9,9 @@ public class EjemploLanzamientoExcepcionPropia {
* @throws PersonaNulaException
* @throws PiernaNulaException
*/
private static String personaToString (Persona persona) throws PersonaNulaException, PiernaNulaException {
private static String personaToString (Persona persona)
throws PersonaNulaException, PiernaNulaException {
StringBuffer sb = new StringBuffer();
// A partir de una persona, vamos a construir un StringBuffer que recorra sus dos piernas
if (persona == null) {
@@ -46,8 +48,10 @@ public class EjemploLanzamientoExcepcionPropia {
public static void main(String[] args) {
try {
// Persona persona = new Persona(new Pierna(Pierna.DERECHA), new Pierna(Pierna.IZQUIERDA));
Persona persona = null;
Persona persona = new Persona(
new Pierna(Pierna.DERECHA),
new Pierna(Pierna.IZQUIERDA));
// Persona persona = null;
// Persona persona = new Persona(null, new Pierna(Pierna.IZQUIERDA));
// Persona persona = new Persona(new Pierna(Pierna.DERECHA), null);
System.out.println(personaToString(persona));
@@ -56,6 +60,8 @@ public class EjemploLanzamientoExcepcionPropia {
e.printStackTrace();
} catch (PiernaNulaException e) {
System.out.println("Existen valores nulos en el objeto persona: " + e.getMessage());
} catch (Exception ex) {
ex.printStackTrace();
}
}

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.excepciones;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones;
public class Persona {
protected Pierna piernaDerecha;

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.excepciones;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones;
public class PersonaNulaException extends Exception {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.excepciones;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones;
public class Pierna {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.excepciones;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones;
public class PiernaNulaException extends Exception {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.palabraRepetidaException;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones.palabraRepetidaException;
public class PalabraRepetidaException extends Exception {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.palabraRepetidaException;
package tutorialJava.capitulo7_Recursos.ejemplo03_excepciones.palabraRepetidaException;
import java.util.ArrayList;
import java.util.Arrays;

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploEntraPersonaListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploEntraPersonaListener;
public class Madre implements PersonaEntraListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploEntraPersonaListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploEntraPersonaListener;
public class Padre implements PersonaEntraListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploEntraPersonaListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploEntraPersonaListener;
public class PersonaEntraEvent {
private String nombrePer;

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploEntraPersonaListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploEntraPersonaListener;
public interface PersonaEntraListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploEntraPersonaListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploEntraPersonaListener;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploNumeroImparListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploNumeroImparListener;
import java.util.ArrayList;
import java.util.List;
@@ -30,8 +30,8 @@ public class IntroduccionNumeros {
*/
private static void fireNumeroImparListener(int numeroImparIntroducido) {
NumeroImparEvent event = new NumeroImparEvent(numeroImparIntroducido);
for (int i = listNumeroImparListeners.size() - 1; i >= 0; i--) {
listNumeroImparListeners.get(i).numeroImparIntroducido(event);
for (NumeroImparListener listener : listNumeroImparListeners) {
listener.numeroImparIntroducido(event);
}
}

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploNumeroImparListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploNumeroImparListener;
public class Mesa implements NumeroImparListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploNumeroImparListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploNumeroImparListener;
public class NumeroImparEvent {
private int numeroIntroducido;

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploNumeroImparListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploNumeroImparListener;
public interface NumeroImparListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploNumeroImparListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploNumeroImparListener;
public class Perro implements NumeroImparListener {
@@ -8,7 +8,6 @@ public class Perro implements NumeroImparListener {
public void numeroImparIntroducido(NumeroImparEvent e) {
System.out.println("Soy un perro y me han notificado la introducción de un número "
+ "impar: " + e.getNumeroIntroducido());
IntroduccionNumeros.removeNumeroImparListener(this);
}
}

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploPalabraRepetidaEnFraseListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploPalabraRepetidaEnFraseListener;
public class CorrectorOrtografico implements PalabraRepetidaListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploPalabraRepetidaEnFraseListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploPalabraRepetidaEnFraseListener;
public class Informatica implements PalabraRepetidaListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploPalabraRepetidaEnFraseListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploPalabraRepetidaEnFraseListener;
public class PalabraRepetidaEvent {
String palabra;

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploPalabraRepetidaEnFraseListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploPalabraRepetidaEnFraseListener;
public interface PalabraRepetidaListener {

View File

@@ -1,4 +1,4 @@
package tutorialJava.capitulo7_Recursos.ejemploPalabraRepetidaEnFraseListener;
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.ejemploPalabraRepetidaEnFraseListener;
import java.util.ArrayList;
import java.util.Arrays;

View File

@@ -0,0 +1,68 @@
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.lluviaListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Aemet {
private static List<InteresadoLLuviaListener> lluviaListeners =
new ArrayList<InteresadoLLuviaListener>();
/**
*
* @param l
*/
public static void addInteresadoLluviaListener (
InteresadoLLuviaListener listener) {
lluviaListeners.add(listener);
}
/**
*
* @param listener
*/
public static void removeInteresadoLluviaListener (
InteresadoLLuviaListener listener) {
lluviaListeners.remove(listener);
}
/**
*
*/
private static void fireEstaLloviendo(int litrosPorMetro) {
for (InteresadoLLuviaListener listener : lluviaListeners) {
InteresadoLluviaEvent event = new InteresadoLluviaEvent();
event.setLitrosPorMetro(litrosPorMetro);
listener.estaLloviendo(event);
}
}
/**
*
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String respuestaLluvia;
new Telediario();
new ProgramaRadio();
System.out.println("Está lloviendo?");
respuestaLluvia = sc.nextLine();
if (respuestaLluvia.toLowerCase().startsWith("s")) {
System.out.println("Está lloviendo");
System.out.println("¿Cuánto está lloviendo?");
int litrosPorMetro = Integer.parseInt(sc.nextLine());
fireEstaLloviendo(litrosPorMetro);
}
}
}

View File

@@ -0,0 +1,6 @@
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.lluviaListener;
public interface InteresadoLLuviaListener {
public void estaLloviendo(InteresadoLluviaEvent event);
}

View File

@@ -0,0 +1,20 @@
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.lluviaListener;
public class InteresadoLluviaEvent {
private int litrosPorMetro;
public InteresadoLluviaEvent() {
super();
}
public int getLitrosPorMetro() {
return litrosPorMetro;
}
public void setLitrosPorMetro(int litrosPorMetro) {
this.litrosPorMetro = litrosPorMetro;
}
}

View File

@@ -0,0 +1,15 @@
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.lluviaListener;
public class ProgramaRadio implements InteresadoLLuviaListener {
public ProgramaRadio () {
Aemet.addInteresadoLluviaListener(this);
}
@Override
public void estaLloviendo(InteresadoLluviaEvent event) {
System.out.println("Soy un programa de radio y me notifican que llueve");
}
}

View File

@@ -0,0 +1,18 @@
package tutorialJava.capitulo7_Recursos.ejemplo04_listeners.lluviaListener;
public class Telediario implements InteresadoLLuviaListener {
/**
*
*/
public Telediario() {
Aemet.addInteresadoLluviaListener(this);
}
@Override
public void estaLloviendo(InteresadoLluviaEvent event) {
System.out.println("Soy un telediario y me dicen que llueve "
+ event.getLitrosPorMetro() + " litros por metro");
}
}

View File

@@ -0,0 +1,37 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque01_WrappersDeTiposPrimitivos;
public class Ejercicio01_TablaConCaracteristicasDeTiposPrimitivos {
public static void main(String[] args) {
// Características de un Integer
System.out.println("Valor máximo para un Integer: " + Integer.MAX_VALUE);
System.out.println("Valor mínimo para un Integer: " + Integer.MIN_VALUE);
System.out.println("Tamaño en bits complemento a 2 para Integer: " + Integer.SIZE);
// Características de un Long
System.out.println("\nValor máximo para un Long: " + Long.MAX_VALUE);
System.out.println("Valor mínimo para un Long: " + Long.MIN_VALUE);
System.out.println("Tamaño en bits complemento a 2 para Long: " + Long.SIZE);
// Características de un Short
System.out.println("\nValor máximo para un Short: " + Short.MAX_VALUE);
System.out.println("Valor mínimo para un Short: " + Short.MIN_VALUE);
System.out.println("Tamaño en bits complemento a 2 para Short: " + Short.SIZE);
// Características de un Float
System.out.println("\nValor máximo para un Float: " + Float.MAX_VALUE);
System.out.println("Valor mínimo para un Float: " + Float.MIN_VALUE);
System.out.println("Tamaño en bits complemento a 2 para Float: " + Float.SIZE);
// Características de un Double
System.out.println("\nValor máximo para un Double: " + Double.MAX_VALUE);
System.out.println("Valor mínimo para un Double: " + Double.MIN_VALUE);
System.out.println("Tamaño en bits complemento a 2 para Double: " + Double.SIZE);
// Wrapper para el tipo de datos "Character"
System.out.println("Tamaño en bits complemento a 2 para Character: " + Character.SIZE);
}
}

View File

@@ -0,0 +1,43 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque01_WrappersDeTiposPrimitivos;
import java.util.Scanner;
public class Ejercicio02_PedirPasswordConRequisitos {
public static void main(String[] args) {
boolean mayuscula = false;
boolean minuscula = false;
boolean digito = false;
boolean noAlfanumerico = false;
Scanner sc = new Scanner(System.in);
do {
mayuscula = false;
minuscula = false;
digito = false;
noAlfanumerico = false;
System.out.println("Dame una contraseña con mayúsculas, minúsculas, dígitos y algún carácter no alfanumérico: ");
String password = sc.next();
for (int i = 0; i < password.length(); i++) {
if (Character.isUpperCase(password.charAt(i))) {
mayuscula = true;
}
if (Character.isLowerCase(password.charAt(i))) {
minuscula = true;
}
if (Character.isDigit(password.charAt(i))) {
digito = true;
}
if (!Character.isLetterOrDigit(password.charAt(i))) {
noAlfanumerico = true;
}
}
} while (!(mayuscula && minuscula && digito && noAlfanumerico));
// Contraseña establecida
System.out.println("Contraseña establecida :-)");
}
}

View File

@@ -0,0 +1,11 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque01_WrappersDeTiposPrimitivos;
public class Ejercicio03_100PrimerosNumerosEnHexadecimal {
public static void main(String[] args) {
for (int i = 0; i < 101; i++) {
System.out.println("Decimal: " + i + " - Hexadecimal: 0x" + Integer.toHexString(i));
}
}
}

View File

@@ -0,0 +1,7 @@
# Ejemplo de comentario en fichero de propiedades
# Propiedades
USUARIO=RafaelMunoz77
PASSWORD=1<EFBFBD>DAWlosmejores
ID_USUARIO=1523
TODO_CORRECTO=true

View File

@@ -0,0 +1,95 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque01_WrappersDeTiposPrimitivos;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class Ejercicio04_LecturaFicheroPropiedades {
private static Properties propiedades = null;
/**
*
* @return
*/
private static Properties getPropiedades() {
if (propiedades == null) {
propiedades = new Properties();
try {
// Otra forma de leer el fichero de propiedades
File file = new File("./src/tutorialJava/capitulo7_Recursos/ejercicios/bloque01_WrappersDeTiposPrimitivos/Ejercicio04.properties");
System.out.println("Fichero encontrado: " + file.exists());
propiedades.load(new FileReader(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return propiedades;
}
/**
*
* @param nombrePropiedad
* @return
*/
public static String getProperty(String nombrePropiedad) {
return getPropiedades().getProperty(nombrePropiedad);
}
/**
*
* @param nombrePropiedad
* @return
*/
public static int getIntProperty (String nombrePropiedad) {
return Integer.parseInt(getPropiedades().getProperty(nombrePropiedad));
}
/**
*
* @param nombrePropiedad
* @return
*/
public static Float getFloatProperty (String nombrePropiedad) {
return Float.parseFloat(getPropiedades().getProperty(nombrePropiedad));
}
/**
*
* @param nombrePropiedad
* @return
*/
public static Boolean getBooleanProperty (String nombrePropiedad) {
return Boolean.parseBoolean(getPropiedades().getProperty(nombrePropiedad));
}
/**
*
* @param args
*/
public static void main (String args[]) {
String usuario = Ejercicio04_LecturaFicheroPropiedades.getProperty("USUARIO");
String password = Ejercicio04_LecturaFicheroPropiedades.getProperty("PASSWORD");
int id = Ejercicio04_LecturaFicheroPropiedades.getIntProperty("ID_USUARIO");
boolean todoCorrecto = Ejercicio04_LecturaFicheroPropiedades.getBooleanProperty("TODO_CORRECTO");
System.out.println("Usuario leído del fichero de propiedades: " + usuario);
System.out.println("Password leído del fichero de propiedades: " + password);
System.out.println("Id de usuario leído del fichero de propiedades: " + id);
System.out.println("Todo correcto: " + todoCorrecto);
}
}

View File

@@ -0,0 +1,21 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque02_MathDateCalendar;
public class Ejercicio01_PuntoDeCorteDeDosGraficas {
public static void main(String[] args) {
double x = 0, y1 = 0, y2 = 0;
for (x = 0; x < 1; x+=0.0001) {
y1 = Math.sqrt(x);
y2 = - Math.log(x);
if (Math.abs(y1 - y2) < 0.001) {
break;
}
}
System.out.println("Cruce encontrado en x: " + x + " y: " + ((y1 + y2) / 2f));
}
}

View File

@@ -0,0 +1,20 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque02_MathDateCalendar;
public class Ejercicio02_PI_SeriesInfinitas_GregoryLeibniz {
public static void main(String[] args) {
double PI = 0;
int signo = 1;
int denominador = 1;
while (Math.abs(Math.PI - PI) > 0.00001) {
PI += signo * (4f / denominador);
signo = -signo;
denominador += 2;
}
System.out.println("PI: " + PI);
}
}

View File

@@ -0,0 +1,12 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque02_MathDateCalendar;
public class Ejercicio03_Hipotenusa {
public static void main(String[] args) {
System.out.println("Hipotenusa de un triángulo rectángulo con catetos 4 y 5cm: " +
Math.hypot(4, 5));
}
}

View File

@@ -0,0 +1,57 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque02_MathDateCalendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Ejercicio04_DateCalendar {
public static void main(String[] args) {
Date date = pideFechaConFormat("dd/MM/yyyy");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date.getTime());
System.out.println("Año del date: " + new SimpleDateFormat("yyyy").format(date));
System.out.println("Mes del date: " + new SimpleDateFormat("MMM").format(date));
System.out.println("Día del date: " + new SimpleDateFormat("dd").format(date));
System.out.println("Hora del date: " + new SimpleDateFormat("HH").format(date));
System.out.println("Minuto del date: " + new SimpleDateFormat("mm").format(date));
System.out.println("Segundo del date: " + new SimpleDateFormat("ss").format(date));
System.out.println("\nAño del calendar: " + calendar.get(Calendar.YEAR));
System.out.println("Mes del calendar: " + calendar.get(Calendar.MONTH));
System.out.println("Día del calendar: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("Hora del calendar: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("Minuto del calendar: " + calendar.get(Calendar.MINUTE));
System.out.println("Segundo del calendar: " + calendar.get(Calendar.SECOND));
calendar.add(Calendar.DAY_OF_YEAR, 3); System.out.println("\nCalendar más 3 días: " + calendar.getTime());
calendar.add(Calendar.DAY_OF_YEAR, -14); System.out.println("Calendar menos 2 semanas: " + calendar.getTime());
calendar.add(Calendar.DAY_OF_YEAR, 300); System.out.println("Calendar más 300 días: " + calendar.getTime());
calendar.add(Calendar.YEAR, 4); System.out.println("Calendar más 4 años: " + calendar.getTime());
}
/**
*
* @param formato
* @return
*/
private static Date pideFechaConFormat (String formato) {
SimpleDateFormat sdf = new SimpleDateFormat(formato);
do {
try {
return sdf.parse(JOptionPane.showInputDialog("Introduzca una fecha con formato dd/MM/yyyy: "));
} catch (ParseException e) {
System.out.println("Fecha con formato incorrecto. Vuelva a intentarlo");
}
} while (true);
}
}

View File

@@ -0,0 +1,21 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque02_MathDateCalendar;
import java.util.Calendar;
import java.util.TimeZone;
public class Ejercicio05_DiferenciaHorariaEntreCiudades {
public static void main(String[] args) {
Calendar ahoraEnRoma = Calendar.getInstance(TimeZone.getTimeZone("Europe/Rome"));
Calendar ahoraEnWashington = Calendar.getInstance(TimeZone.getTimeZone("EST"));
int horaEnRoma = ahoraEnRoma.get(Calendar.HOUR_OF_DAY);
int horaEnWashington = ahoraEnWashington.get(Calendar.HOUR_OF_DAY);
System.out.println("Diferencia horaria entre Roma y Wasington: " + Math.abs(horaEnRoma - horaEnWashington));
}
}

View File

@@ -0,0 +1,38 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorFraseConPalabraBombilla;
public class MinimoNumeroDePalabrasNoAlcanzadoException extends Exception {
private int minimoNumeroPalabras;
public MinimoNumeroDePalabrasNoAlcanzadoException(int minimoNumeroPalabras) {
this.minimoNumeroPalabras = minimoNumeroPalabras;
// TODO Auto-generated constructor stub
}
public MinimoNumeroDePalabrasNoAlcanzadoException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public MinimoNumeroDePalabrasNoAlcanzadoException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
public MinimoNumeroDePalabrasNoAlcanzadoException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public MinimoNumeroDePalabrasNoAlcanzadoException(String message, Throwable cause, boolean enableSuppression,
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
public int getMinimoNumeroPalabras() {
return minimoNumeroPalabras;
}
}

View File

@@ -0,0 +1,30 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorFraseConPalabraBombilla;
public class PalabraBombillaNoEncontradaException extends Exception {
public PalabraBombillaNoEncontradaException() {
// TODO Auto-generated constructor stub
}
public PalabraBombillaNoEncontradaException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public PalabraBombillaNoEncontradaException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
public PalabraBombillaNoEncontradaException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public PalabraBombillaNoEncontradaException(String message, Throwable cause, boolean enableSuppression,
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
}

View File

@@ -0,0 +1,30 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorFraseConPalabraBombilla;
public class PalabraOfensivaException extends Exception {
public PalabraOfensivaException() {
// TODO Auto-generated constructor stub
}
public PalabraOfensivaException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public PalabraOfensivaException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
public PalabraOfensivaException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public PalabraOfensivaException(String message, Throwable cause, boolean enableSuppression,
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
}

View File

@@ -0,0 +1,66 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorFraseConPalabraBombilla;
import java.util.Iterator;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Principal {
private static String getFraseConPalabraBombilla () throws SoloEspaciosEnBlancoException,
MinimoNumeroDePalabrasNoAlcanzadoException,
PalabraBombillaNoEncontradaException,
PalabraOfensivaException {
String frase = JOptionPane.showInputDialog("Introduzca una frase con la palabra \"bombilla\"");
// No frase formada por espacios en blanco
if (frase.trim().equals("")) {
throw new SoloEspaciosEnBlancoException("No hay palabras en la frase introducida");
}
// Mínimo número de palabras en 3.
String palabras[] = frase.split("[ ]{1,}");
if (palabras.length < 3) {
throw new MinimoNumeroDePalabrasNoAlcanzadoException(3);
}
// No aparece la palabra bombilla
if (frase.toUpperCase().indexOf("BOMBILLA") == -1) {
throw new PalabraBombillaNoEncontradaException();
}
// Comprobar palabras ofensivas
String palabrasOfensivas[] = new String[] {"tonto", "tonta", "idiota"};
for (String palabraOfensiva : palabrasOfensivas) {
if (frase.toLowerCase().indexOf(palabraOfensiva) != -1) {
throw new PalabraOfensivaException("Palabra " +
palabraOfensiva + " encontrada");
}
}
return frase;
}
public static void main(String[] args) {
try {
System.out.println(getFraseConPalabraBombilla());
} catch (SoloEspaciosEnBlancoException e) {
System.out.println(e.getMessage());
} catch (MinimoNumeroDePalabrasNoAlcanzadoException e) {
System.out.println("Tu frase debería ser más larga, al menos: " +
e.getMinimoNumeroPalabras() + " palabras");
} catch (PalabraBombillaNoEncontradaException e) {
e.printStackTrace();
} catch (PalabraOfensivaException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,30 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorFraseConPalabraBombilla;
public class SoloEspaciosEnBlancoException extends Exception {
public SoloEspaciosEnBlancoException() {
// TODO Auto-generated constructor stub
}
public SoloEspaciosEnBlancoException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public SoloEspaciosEnBlancoException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
public SoloEspaciosEnBlancoException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public SoloEspaciosEnBlancoException(String message, Throwable cause, boolean enableSuppression,
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
}

View File

@@ -0,0 +1,29 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorNumeroPar;
public class NumeroImparException extends Exception {
public NumeroImparException() {
// TODO Auto-generated constructor stub
}
public NumeroImparException(String arg0) {
super(arg0);
// TODO Auto-generated constructor stub
}
public NumeroImparException(Throwable arg0) {
super(arg0);
// TODO Auto-generated constructor stub
}
public NumeroImparException(String arg0, Throwable arg1) {
super(arg0, arg1);
// TODO Auto-generated constructor stub
}
public NumeroImparException(String arg0, Throwable arg1, boolean arg2, boolean arg3) {
super(arg0, arg1, arg2, arg3);
// TODO Auto-generated constructor stub
}
}

View File

@@ -0,0 +1,32 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque03_Excepciones.ExcepcionPorNumeroPar;
import java.util.Scanner;
public class Principal {
private static int getNumeroPar () throws NumeroImparException {
System.out.println("Introduzca número par: ");
Scanner sc = new Scanner (System.in);
int numero = sc.nextInt();
if (numero % 2 == 0) {
return numero;
}
else {
throw new NumeroImparException("El número: " + numero + " no es par");
}
}
public static void main(String[] args) {
try {
getNumeroPar();
} catch (NumeroImparException e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,17 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
public class Mesa implements OperacionMatematicaListener {
/**
*
*/
public Mesa() {
Principal.addOperacionMatematicaListener(this);
}
@Override
public void sumaMayorA1000(SumaMayorA1000Event e) {
System.out.println("Soy una mesa y una suma ha dado "
+ "un valor > 1000, que es: " + e.getSuma());
}
}

View File

@@ -0,0 +1,6 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
public interface OperacionMatematicaListener {
public void sumaMayorA1000(SumaMayorA1000Event e);
}

View File

@@ -0,0 +1,129 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Principal {
private static List<OperacionMatematicaListener> listeners = new ArrayList<OperacionMatematicaListener>();
public static void addOperacionMatematicaListener (OperacionMatematicaListener l) {
listeners.add(l);
}
public static void removeOperacionMatematicaListener (OperacionMatematicaListener l) {
listeners.remove(l);
}
private static void fireSumaMayorA1000(int suma) {
SumaMayorA1000Event e = new SumaMayorA1000Event(suma);
for (OperacionMatematicaListener l : listeners) {
l.sumaMayorA1000(e);
}
}
/**
*
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice;
Mesa m1 = new Mesa();
do {
choice = menu();
switch (choice) {
case 1:
// Suma
System.out.print("Ingrese el primer número: ");
int sum1 = scanner.nextInt();
System.out.print("Ingrese el segundo número: ");
int sum2 = scanner.nextInt();
int suma = sum1 + sum2;
if (suma > 1000) {
fireSumaMayorA1000(suma);
}
System.out.println("Resultado de la suma: " + suma);
break;
case 2:
// Resta
System.out.print("Ingrese el primer número: ");
int sub1 = scanner.nextInt();
System.out.print("Ingrese el segundo número: ");
int sub2 = scanner.nextInt();
System.out.println("Resultado de la resta: " + (sub1 - sub2));
break;
case 3:
// Multiplicación
System.out.print("Ingrese el primer número: ");
int mul1 = scanner.nextInt();
System.out.print("Ingrese el segundo número: ");
int mul2 = scanner.nextInt();
System.out.println("Resultado de la multiplicación: " + (mul1 * mul2));
break;
case 4:
// División
System.out.print("Ingrese el dividendo: ");
int dividend = scanner.nextInt();
System.out.print("Ingrese el divisor: ");
int divisor = scanner.nextInt();
if (divisor != 0) {
System.out.println("Resultado de la división: " + (dividend / divisor));
}
break;
case 5:
// Raíz cuadrada
System.out.print("Ingrese el número: ");
int number = scanner.nextInt();
if (number >= 0) {
System.out.println("Resultado de la raíz cuadrada: " + Math.sqrt(number));
}
break;
case 0:
System.out.println("Saliendo del programa. ¡Adiós!");
break;
default:
System.out.println("Opción no válida. Intente de nuevo.");
break;
}
} while (choice != 0);
scanner.close();
}
/**
*
* @return
*/
private static int menu() {
Scanner scanner = new Scanner(System.in);
System.out.println("\nMenú de Operaciones Matemáticas:");
System.out.println("0. Salir");
System.out.println("1. Suma");
System.out.println("2. Resta");
System.out.println("3. Multiplicación");
System.out.println("4. División");
System.out.println("5. Raíz Cuadrada");
System.out.print("Seleccione una opción: ");
return scanner.nextInt();
}
}

View File

@@ -0,0 +1,26 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
public class SumaMayorA1000Event {
int suma;
public SumaMayorA1000Event(int suma) {
super();
this.suma = suma;
}
public int getSuma() {
return suma;
}
public void setSuma(int suma) {
this.suma = suma;
}
@Override
public String toString() {
return "SumaMayorA1000Event [suma=" + suma + "]";
}
}

View File

@@ -0,0 +1,26 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque05_recursividad;
public class Ejercicio01_FibonacciRecursivo {
/**
*
* @param args
*/
public static void main(String[] args) {
int n = 7;
System.out.println("El término " + n + " de la secuencia de Fibonacci es: " + fibonacci(n));
}
/**
*
* @param n
* @return
*/
public static int fibonacci(int n) {
if (n <= 1) {
return n; // Caso base: fibonacci(0) = 0 y fibonacci(1) = 1
}
return fibonacci(n - 1) + fibonacci(n - 2); // Llamadas recursivas
}
}

Some files were not shown because too many files have changed in this diff Show More