Created
March 30, 2017 01:57
-
-
Save PabloSanchezMartinez/3d1e3634c6e77f130f59f75f91ee5124 to your computer and use it in GitHub Desktop.
EXAMEN
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package bo.edu.ubilapaz; | |
public class Archivo { | |
private String nombre; | |
private String extension; | |
private double peso; | |
public Archivo(String nombre, String extension, double peso) { | |
this.nombre = nombre; | |
this.extension = extension; | |
this.peso = peso; | |
} | |
public Archivo() { | |
this.nombre = " "; | |
this.extension = " "; | |
this.peso = 0.0; | |
} | |
public String getNombre() { | |
return nombre; | |
} | |
public void setNombre(String nombre) { | |
this.nombre = nombre; | |
} | |
public String getExtension() { | |
return extension; | |
} | |
public void setExtension(String extension) { | |
this.extension = extension; | |
} | |
public double getPeso() { | |
return peso; | |
} | |
public void setPeso(double peso) { | |
this.peso = peso; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package bo.edu.ubilapaz; | |
import java.util.LinkedList; | |
import java.util.Queue; | |
import java.util.Stack; | |
public class Main { | |
public static void main(String[] args) { | |
Archivo a1 = new Archivo("aaa", "mp3", 5.1); | |
Archivo a2 = new Archivo("bbb", "mp4", 15.54); | |
Archivo a3 = new Archivo("ccc", "jpg", 2.4); | |
Archivo a4 = new Archivo("ddd", "docx", 0.12); | |
Archivo a5 = new Archivo("eee", "png", 1.2); | |
Archivo a6 = new Archivo("fff", "mp3", 10.58); | |
Archivo a7 = new Archivo("ggg", "jpg", 6.4); | |
Archivo a8 = new Archivo("hhh", "png", 2.3); | |
Archivo a9 = new Archivo("iii", "mp3", 15.4); | |
Archivo a10 = new Archivo("jjj", "jpg", 0.36); | |
Queue<Archivo> colaArchivos = new LinkedList<Archivo>(); | |
colaArchivos.add(a1); | |
colaArchivos.add(a2); | |
colaArchivos.add(a3); | |
colaArchivos.add(a4); | |
colaArchivos.add(a5); | |
colaArchivos.add(a6); | |
colaArchivos.add(a7); | |
colaArchivos.add(a8); | |
colaArchivos.add(a9); | |
colaArchivos.add(a10); | |
System.out.println("\tCOLA INICIAL"); | |
mostrar(colaArchivos); | |
Queue<Archivo> soloImagenes = new LinkedList<Archivo>(); | |
seleccionarImagenes(colaArchivos, soloImagenes); | |
System.out.println("\t\tCOLA IMAGENES"); | |
mostrar(soloImagenes); | |
System.out.println("\t\tCOLA ACTUALIZADA"); | |
mostrar(colaArchivos); | |
System.out.println("Total de Espacio Ocupado en el USB es de: " + calcularEspacio(colaArchivos)); | |
System.out.println("\t\tMOSTRAR COLA A LA INVERSA"); | |
mostrarInversa(colaArchivos); | |
} | |
private static void mostrarInversa(Queue<Archivo> a) { | |
Stack<Archivo> aux = new Stack<Archivo>(); | |
int n = a.size(); | |
for (int i = 0; i < n; i++) { | |
Archivo x = a.remove(); | |
aux.push(x); | |
a.add(x); | |
} | |
while (!aux.isEmpty()) { | |
Archivo z = aux.pop(); | |
System.out.println(z.getNombre() +" "+ z.getExtension() +" "+ z.getPeso()); | |
} | |
} | |
private static double calcularEspacio(Queue<Archivo> colaArchivos) { | |
int n = colaArchivos.size(); | |
double suma = 0; | |
for (int i = 0; i < n; i++) { | |
Archivo x = colaArchivos.remove(); | |
suma = suma + x.getPeso(); | |
colaArchivos.add(x); | |
} | |
return suma; | |
} | |
private static void seleccionarImagenes(Queue<Archivo> a, Queue<Archivo> b) { | |
int n = a.size(); | |
for (int i = 0; i < n; i++) { | |
Archivo x = a.remove(); | |
if (x.getExtension().equals("jpg") || x.getExtension().equals("png")) | |
b.add(x); | |
else | |
a.add(x); | |
} | |
} | |
private static void mostrar(Queue<Archivo> colaArchivos) { | |
int n = colaArchivos.size(); | |
for (int i = 0; i < n; i++) { | |
Archivo x = colaArchivos.remove(); | |
System.out.println(x.getNombre() + " " + x.getExtension() + " " + x.getPeso()); | |
colaArchivos.add(x); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment