Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void rotularEstante(String NuevaCategoria, Integer NumOrden) {// Cambia la categoria de un estante
- // determinado por su numero de orden.
- boolean banderaVacio = false;
- int EstanTodosUsados = 1;// INICIA EN 1, PORQUE NO RECORREMOS NumOrden
- for (Estante e : estantesPP) {
- if (e.numOrden == NumOrden) {
- if (e.categoria == null) {
- e.categoria = NuevaCategoria;
- ArrayList<Integer> lista = new ArrayList<Integer>();
- lista.add(NumOrden);
- estantesPorCategorias.put(NuevaCategoria, lista);//
- }
- else { // en caso de que ese estante (nº de orden), tenga otra categoria
- if (e.categoria != null && e.libros.size() == 0) {// si ese estante tiene otra categoria, pero esta
- // vacio(no tiene libros)
- // renombrar la cate de ese estante si es que se encuentra
- e.categoria = NuevaCategoria; // ¡¡¡¡¡¡¡ FALTA ACTUALIZAR ESTANTES POR CATEGORIA!!!!!!!!!!!!!!!
- break;
- } else
- banderaVacio = true;
- }
- }
- if (banderaVacio == true) {
- for (Estante es : estantesPP) {
- if (es.numOrden != NumOrden) {// BUSCA UN ESTANTE DISTINTO AL SOLICITADO POR PARAMETRO
- if (es.libros.size() == 0) {// Si otro estante con != ndeorden esta vacio
- // ArrayList<Integer> aux = new ArrayList <Integer>();
- // aux.addAll(estantesPorCategorias.get(es.categoria));//AGREGA TODOS LOS Nº DE
- // ORDEN, TIENE QUE AGREGAR SOLO EL ACTUAL
- // estantesPorCategorias.put(NuevaCategoria, aux);
- es.categoria = NuevaCategoria;
- break;// ¡¡¡¡¡¡¡ FALTA ACTUALIZAR ESTANTES POR CATEGORIA!!!!!!!!!!!!!!!
- }
- else {
- EstanTodosUsados++;
- }
- }
- }
- }
- }
- if (EstanTodosUsados == estantesPP.size()) { // EN EL PEOR DE LOS CASOS DE QUE TODOS LOS ESTANTES ESTEN OCUPADOS
- Estante aux = new Estante(estantesPP.size() + 1, NuevaCategoria, anchoBiblioteca);
- estantesPP.add(aux);
- ArrayList<Integer> lista = new ArrayList<Integer>();// AGREGA LA NUEVA CATE A ESTANTESPORCATEGORIA
- lista.add(estantesPP.size() + 1);// EL SIGUIENTE NUMERO DE ORDEN
- estantesPorCategorias.put(NuevaCategoria, lista);//
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement