Advertisement
Guest User

Untitled

a guest
Oct 13th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. public void rotularEstante(String NuevaCategoria, Integer NumOrden) {// Cambia la categoria de un estante
  2. // determinado por su numero de orden.
  3. boolean banderaVacio = false;
  4. int EstanTodosUsados = 1;// INICIA EN 1, PORQUE NO RECORREMOS NumOrden
  5.  
  6. for (Estante e : estantesPP) {
  7.  
  8. if (e.numOrden == NumOrden) {
  9.  
  10. if (e.categoria == null) {
  11.  
  12. e.categoria = NuevaCategoria;
  13.  
  14. ArrayList<Integer> lista = new ArrayList<Integer>();
  15. lista.add(NumOrden);
  16. estantesPorCategorias.put(NuevaCategoria, lista);//
  17. }
  18.  
  19. else { // en caso de que ese estante (nº de orden), tenga otra categoria
  20. if (e.categoria != null && e.libros.size() == 0) {// si ese estante tiene otra categoria, pero esta
  21. // vacio(no tiene libros)
  22.  
  23. // renombrar la cate de ese estante si es que se encuentra
  24. e.categoria = NuevaCategoria; // ¡¡¡¡¡¡¡ FALTA ACTUALIZAR ESTANTES POR CATEGORIA!!!!!!!!!!!!!!!
  25. break;
  26. } else
  27. banderaVacio = true;
  28. }
  29. }
  30.  
  31. if (banderaVacio == true) {
  32.  
  33. for (Estante es : estantesPP) {
  34. if (es.numOrden != NumOrden) {// BUSCA UN ESTANTE DISTINTO AL SOLICITADO POR PARAMETRO
  35.  
  36. if (es.libros.size() == 0) {// Si otro estante con != ndeorden esta vacio
  37.  
  38. // ArrayList<Integer> aux = new ArrayList <Integer>();
  39. // aux.addAll(estantesPorCategorias.get(es.categoria));//AGREGA TODOS LOS Nº DE
  40. // ORDEN, TIENE QUE AGREGAR SOLO EL ACTUAL
  41. // estantesPorCategorias.put(NuevaCategoria, aux);
  42.  
  43. es.categoria = NuevaCategoria;
  44. break;// ¡¡¡¡¡¡¡ FALTA ACTUALIZAR ESTANTES POR CATEGORIA!!!!!!!!!!!!!!!
  45. }
  46.  
  47. else {
  48.  
  49. EstanTodosUsados++;
  50.  
  51. }
  52.  
  53. }
  54. }
  55.  
  56. }
  57.  
  58. }
  59.  
  60. if (EstanTodosUsados == estantesPP.size()) { // EN EL PEOR DE LOS CASOS DE QUE TODOS LOS ESTANTES ESTEN OCUPADOS
  61.  
  62. Estante aux = new Estante(estantesPP.size() + 1, NuevaCategoria, anchoBiblioteca);
  63. estantesPP.add(aux);
  64.  
  65. ArrayList<Integer> lista = new ArrayList<Integer>();// AGREGA LA NUEVA CATE A ESTANTESPORCATEGORIA
  66.  
  67. lista.add(estantesPP.size() + 1);// EL SIGUIENTE NUMERO DE ORDEN
  68. estantesPorCategorias.put(NuevaCategoria, lista);//
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement