Skip to content

Commit 685e7a3

Browse files
authored
Merge pull request mouredev#6865 from danhingar/ejercicio07
#7 - Java
2 parents 6ac74cf + 97fdbd9 commit 685e7a3

File tree

1 file changed

+139
-0
lines changed

1 file changed

+139
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
import java.util.Stack;
2+
import java.util.ArrayDeque;
3+
import java.util.Queue;
4+
import java.util.Scanner;
5+
6+
public class danhingar {
7+
8+
public static void main(String[] args) {
9+
// Declarar una pila
10+
Stack<String> books = new Stack<>();
11+
12+
// Añadir elementos
13+
books.addElement("Libro2");
14+
books.add("Libro3");
15+
books.addFirst("Libro1");
16+
books.push("Libro4");
17+
books.addLast("Libro5");
18+
19+
System.out.println(books);
20+
21+
// Recuperar último elemento introducido y lo elimina
22+
String lastBook = books.pop();
23+
24+
System.out.println(lastBook);
25+
System.out.println(books);
26+
27+
// Recuperar el último elemento sin eliminarlo
28+
String lastBook2 = books.peek();
29+
System.out.println(lastBook2);
30+
System.out.println(books);
31+
32+
// Buscar elemento
33+
int index = books.search("Libro3");
34+
System.out.println(books.get(index));
35+
36+
// Invertir orden
37+
System.out.println(books.reversed());
38+
System.out.println(books.reversed().getLast());
39+
System.out.println(books.reversed().getFirst());
40+
41+
// Colas
42+
Queue<Integer> numbers = new ArrayDeque<>();
43+
44+
// Añadir elementos
45+
numbers.add(1);
46+
numbers.add(2);
47+
numbers.add(3);
48+
numbers.add(4);
49+
50+
System.out.println(numbers);
51+
52+
// Recupera el primer elemento añadido y lo elimina
53+
Integer number = numbers.poll();
54+
System.out.println(number);
55+
System.out.println(numbers);
56+
57+
// Recupera el primer elemento añadido sin eliminarlo
58+
Integer number2 = numbers.peek();
59+
System.out.println(number2);
60+
System.out.println(numbers);
61+
62+
// Igual que peek pero lanza una excepción si está vacía
63+
Integer number3 = numbers.element();
64+
System.out.println(number3);
65+
System.out.println(numbers);
66+
67+
// browser();
68+
printer();
69+
}
70+
71+
private static Stack<String> pages = new Stack<>();
72+
private static int pointer = -1;
73+
74+
// EXTRA
75+
private static void browser() {
76+
while (Boolean.TRUE) {
77+
System.out.println("Añade una url o selecciona la opción adelantes/atras/salir");
78+
Scanner scanner = new Scanner(System.in);
79+
String input = scanner.nextLine();
80+
switch (input) {
81+
case "atras":
82+
if (pages.size() > 1 && pointer > 0) {
83+
System.out.println("Has navegado a la web: " + pages.get(pointer - 1));
84+
pointer--;
85+
} else {
86+
System.out.println("Estás en la página de inicio");
87+
}
88+
break;
89+
case "adelante":
90+
if (pages.size() > 1 && pointer < pages.size() - 1) {
91+
System.out.println("Has navegado a la web: " + pages.get(pointer + 1));
92+
pointer++;
93+
} else {
94+
System.out.println("No puedes avanzar más");
95+
}
96+
break;
97+
98+
case "salir":
99+
scanner.close();
100+
System.exit(0);
101+
default:
102+
pages.push(input);
103+
pointer++;
104+
System.out.println("Has navegado a la web: " + pages.peek());
105+
break;
106+
}
107+
}
108+
109+
}
110+
111+
private static Queue<String> documents = new ArrayDeque<>();
112+
113+
private static void printer() {
114+
while (Boolean.TRUE) {
115+
System.out.println("Añade un docmento o selecciona la opción imprimir/salir");
116+
Scanner scanner = new Scanner(System.in);
117+
String input = scanner.nextLine();
118+
119+
switch (input) {
120+
case "imprimir":
121+
if (documents.size()>0) {
122+
System.out.println(documents.poll());
123+
}
124+
System.out.println("No hay documentos para imprimir");
125+
break;
126+
case "salir":
127+
scanner.close();
128+
System.exit(0);
129+
break;
130+
default:
131+
documents.add(input);
132+
break;
133+
}
134+
135+
System.out.println("Cola de impresión: " + documents);
136+
}
137+
138+
}
139+
}

0 commit comments

Comments
 (0)