Skip to content

Commit 30d700a

Browse files
authored
Merge pull request mouredev#7070 from Josegs95/main
#18 y #19 - Java
2 parents d6648fa + 7c9fb42 commit 30d700a

File tree

2 files changed

+196
-0
lines changed

2 files changed

+196
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import java.util.*;
2+
3+
public class Josegs95 {
4+
public static void main(String[] args) {
5+
//Lo mas parecido a un conjunto en java son los Set.
6+
//Pero para la parte del ejercicio, voy a usar una lista, ya que hay operaciones que
7+
//ninguna implementación de Set puede hacer de forma nativa.
8+
List<String> elementList = new ArrayList<>();
9+
elementList.add("1");
10+
elementList.add("2");
11+
elementList.add("3");
12+
System.out.println(elementList);
13+
14+
15+
//Añadir elemento al final
16+
elementList.add("Final");
17+
System.out.println("1. " + elementList);
18+
19+
//Añadir elemento al principio
20+
elementList.add(0, "Principio");
21+
System.out.println("2. " + elementList);
22+
23+
//Añadir varios elementos al final
24+
elementList.addAll(Arrays.asList("Final1", "Final2"));
25+
System.out.println("3. " + elementList);
26+
27+
//Añadir varios elementos en una posición
28+
elementList.addAll(2, Arrays.asList("1.3", "1.6"));
29+
System.out.println("4. " + elementList);
30+
31+
//Eliminar elemento por posición
32+
elementList.remove(2);
33+
System.out.println("5. " + elementList);
34+
35+
//Actualizar elemento por posición
36+
elementList.set(5, "FinalActualizado");
37+
System.out.println("6. " + elementList);
38+
39+
//Comprobar si existe un elemento en el conjunto
40+
System.out.println("7. Existe el elemento '4': " + elementList.contains("4"));
41+
42+
//Elimina el contenido del conjunto
43+
elementList.clear();
44+
System.out.println("8. " + elementList);
45+
46+
//Reto
47+
retoFinal();
48+
}
49+
50+
public static void retoFinal(){
51+
Set<String> set1 = new HashSet<>(Arrays.asList("1", "2", "4", "6"));
52+
Set<String> set2 = new HashSet<>(Arrays.asList("1", "3", "6", "9"));
53+
System.out.println("Set1: " + set1);
54+
System.out.println("Set2: " + set2);
55+
56+
//Union
57+
Set<String> union = new HashSet<>(set1);
58+
union.addAll(set2);
59+
System.out.println("Set1 U Set2: " + union);
60+
61+
//Intersección
62+
Set<String> intersection = new HashSet<>(set1);
63+
intersection.retainAll(set2);
64+
System.out.println("Set1 ∩ Set2: " + intersection);
65+
66+
//Diferencia
67+
Set<String> difference = new HashSet<>(set1);
68+
difference.removeAll(set2);
69+
System.out.println("Set1 - Set2: " + difference);
70+
71+
//Diferencia simétrica
72+
Set<String> symmetricDifference = new HashSet<>(union);
73+
symmetricDifference.removeAll(intersection);
74+
System.out.println("Set1 Δ Set2: " + symmetricDifference);
75+
}
76+
}
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
public class Josegs95 {
2+
3+
public enum DayOfWeek{
4+
LUNES("Lunes"),
5+
MARTES("Martes"),
6+
MIÉRCOLES("Miércoles"),
7+
JUEVES("Jueves"),
8+
VIERNES("Viernes"),
9+
SÁBADO("Sábado"),
10+
DOMINGO("Domingo");
11+
12+
private String title;
13+
14+
private DayOfWeek(String title){
15+
this.title = title;
16+
}
17+
18+
public static void printDay(int index){
19+
if (index > DayOfWeek.values().length || index < 1)
20+
return;
21+
System.out.println(DayOfWeek.values()[index - 1]);
22+
}
23+
24+
@Override
25+
public String toString() {
26+
return title;
27+
}
28+
}
29+
30+
public static void main(String[] args) {
31+
//Ejercicio
32+
//Día de la semana: 2
33+
DayOfWeek.printDay(2);
34+
35+
//Día de la semana: 5
36+
DayOfWeek.printDay(5);
37+
38+
//Reto
39+
retoFinal();
40+
}
41+
42+
public static void retoFinal(){
43+
Order order1 = new Order(1);
44+
Order order2 = new Order(2);
45+
Order order3 = new Order(3);
46+
47+
order1.ship();
48+
order2.cancel();
49+
50+
order1.printStatus();
51+
order2.printStatus();
52+
order3.printStatus();
53+
54+
order1.deliver();
55+
order2.deliver();
56+
order3.deliver();
57+
58+
order1.printStatus();
59+
order2.printStatus();
60+
order3.printStatus();
61+
62+
order1.cancel();
63+
}
64+
65+
public static class Order{
66+
private final int id;
67+
private OrderStatus status;
68+
69+
enum OrderStatus{
70+
PENDIENTE,
71+
ENVIADO,
72+
ENTREGADO,
73+
CANCELADO
74+
}
75+
76+
Order(int id){
77+
this.id = id;
78+
status = OrderStatus.PENDIENTE;
79+
}
80+
81+
public void ship(){
82+
if (status == OrderStatus.CANCELADO){
83+
System.out.println("El pedido " + id + " ha sido cancelado y no se puede entregar.");
84+
return;
85+
} else if (status == OrderStatus.ENTREGADO){
86+
System.out.println("El pedido " + id + " ya ha sido enviado y entregado.");
87+
return;
88+
}
89+
status = OrderStatus.ENVIADO;
90+
}
91+
92+
public void deliver(){
93+
if (status == OrderStatus.CANCELADO){
94+
System.out.println("El pedido " + id + " ha sido cancelado y no se puede entregar.");
95+
return;
96+
} else if (status == OrderStatus.PENDIENTE){
97+
System.out.println("El pedido " + id + " necesita ser enviado antes de poder entregarlo.");
98+
return;
99+
}
100+
status = OrderStatus.ENTREGADO;
101+
}
102+
103+
public void cancel(){
104+
if (status == OrderStatus.ENTREGADO){
105+
System.out.println("El pedido " + id + " ha sido entregado y no se puede cancelar.");
106+
return;
107+
}
108+
status = OrderStatus.CANCELADO;
109+
}
110+
111+
public void printStatus(){
112+
switch (status){
113+
case PENDIENTE -> System.out.println("El paquete " + id + " está pendiente aún.");
114+
case ENVIADO -> System.out.println("El paquete " + id + " ha sido enviado.");
115+
case ENTREGADO -> System.out.println("El paquete " + id + " ha sido entregado.");
116+
case CANCELADO -> System.out.println("El paquete " + id + " ha sido cancelado.");
117+
}
118+
}
119+
}
120+
}

0 commit comments

Comments
 (0)