1
1
2
+ import java .util .ArrayList ;
3
+ import java .util .InputMismatchException ;
2
4
import java .util .List ;
3
5
import java .util .Scanner ;
4
6
import java .util .concurrent .TimeUnit ;
8
10
9
11
public class simonguzman {
10
12
public static void main (String [] args ) {
11
- // sintaxisLogger();
12
- // exampleLog();
13
+ sintaxisLogger ();
14
+ exampleLog ();
13
15
advancedLoggingExample ();
16
+ adittionalExercise ();
14
17
}
15
18
/************************ ejercicio adicional************************/
16
19
public static void adittionalExercise (){
20
+ List <Task > tasks = new ArrayList <>();
21
+ Logger logger = Logger .getLogger (simonguzman .class .getName ());
17
22
Scanner sc = new Scanner (System .in );
18
- int option ;
23
+ int option = 0 ;
19
24
do {
20
25
menu ();
21
26
System .out .println ("Ingrese una opcion" );
22
- option = sc .nextInt ();
23
- }while (option != 4 );
24
-
27
+ try {
28
+ option = sc .nextInt ();
29
+ sc .nextLine ();
30
+ optionsMenu (option , sc , tasks , logger );
31
+ } catch (InputMismatchException e ) {
32
+ System .out .println ("ERROR: Entrada invalida, solo ingresar valores numericos" );
33
+ sc .next ();
34
+ }
35
+ }while (option != 4 );
36
+ sc .close ();
25
37
}
26
38
27
- public static void optionsMenu (int option ){
39
+ public static void optionsMenu (int option , Scanner sc , List <Task > tasks , Logger logger ){
40
+
28
41
switch (option ) {
29
42
case 1 :
30
-
43
+ addTaskMenu ( sc , tasks , logger );
31
44
break ;
32
45
case 2 :
33
-
46
+ removeTaskMenu ( sc , tasks , logger );
34
47
break ;
35
48
case 3 :
36
-
49
+ listTasks ( tasks , logger );
37
50
break ;
38
51
case 4 :
39
52
outSystem ();
40
53
break ;
41
54
default :
42
- throw new AssertionError ( );
55
+ System . out . println ( "ERROR: Opcion no valida..." );
43
56
}
44
57
}
45
58
46
- public static String outSystem (){
47
- return "Saliendo..." ;
59
+ public static void outSystem (){
60
+ System . out . println ( "Saliendo...." ) ;
48
61
}
49
62
50
63
public static void menu (){
@@ -55,16 +68,30 @@ public static void menu(){
55
68
System .out .println ("4. Salir" );
56
69
}
57
70
58
- public void addTask (String name , String description , List <Task > tasks , Logger logger ){
71
+ public static void addTaskMenu (Scanner sc , List <Task > tasks , Logger logger ){
72
+ System .out .print ("Introduce el nombre de la tarea: " );
73
+ String name = sc .next ();
74
+ System .out .print ("Introduce la descripción de la tarea: " );
75
+ String description = sc .next ();
76
+ addTask (name , description , tasks , logger );
77
+ }
78
+
79
+ public static void removeTaskMenu (Scanner sc , List <Task > tasks , Logger logger ){
80
+ System .out .println ("Introduce el nombre de la tarea a eliminar: " );
81
+ String name = sc .next ();
82
+ removeTask (name , tasks , logger );
83
+ }
84
+
85
+ public static void addTask (String name , String description , List <Task > tasks , Logger logger ){
59
86
long startTime = System .currentTimeMillis ();
60
87
Task task = new Task (name , description );
61
88
tasks .add (task );
62
- logger .info ("Tarea añadida: " +task .getName ());
89
+ logger .info ("Tarea añadida: " +task .getName ()+ ", Description: " + task . getDescription () );
63
90
long endTime = System .currentTimeMillis ();
64
91
logger .info ("Tiempo de ejecucion para añadir la tarea: " +(endTime - startTime ));
65
92
}
66
93
67
- public void removeTask (String name , List <Task > tasks , Logger logger ){
94
+ public static void removeTask (String name , List <Task > tasks , Logger logger ){
68
95
long startTime = System .currentTimeMillis ();
69
96
boolean removed = tasks .removeIf (task -> task .getName ().equalsIgnoreCase (name ));
70
97
if (removed ){
@@ -105,6 +132,10 @@ public String getName() {
105
132
return name ;
106
133
}
107
134
135
+ public String getDescription () {
136
+ return description ;
137
+ }
138
+
108
139
@ Override
109
140
public String toString () {
110
141
return "Tarea: " + name +", Descripcion: " +description ;
0 commit comments