Skip to content

Instantly share code, notes, and snippets.

@PabloSanchezMartinez
Created March 30, 2017 01:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PabloSanchezMartinez/3d1e3634c6e77f130f59f75f91ee5124 to your computer and use it in GitHub Desktop.
Save PabloSanchezMartinez/3d1e3634c6e77f130f59f75f91ee5124 to your computer and use it in GitHub Desktop.
EXAMEN
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;
}
}
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