Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2015, 02:25
edufg4
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Problema con ejercicio Java eclipse

hola tengo que realizar una aplicación sobre la gestión de partes de un taller mecánico, en la clase partes debe aparecer los métodos: código, descripción e importe. Un parte irá asociado a la matrícula de un coche, la matrícula debe introducirse con provincia, número y letra.
El metodo main debe mostrará un menú de opciones por consola: crear, listar, mostrar, eliminar partes y salir.
Tras crear las Clases matricula, partes, gestión y Actividad (main), a la hora de mostrar un parte en concreto, por ejemplo introduzco una matricula, la consulto en el Hashmap y si esta se encuentra se imprime por pantalla, aquí tengo el problema no se como realizarlo.
Código:
import java.util.*;

public class Gestion {
    HashMap<Matricula,ArrayList<Partes>> HashPartes = new HashMap<Matricula,ArrayList<Partes>>();
    Matricula mat;
    public void anadirParte(){
        Partes parte;
        System.out.println("Introduce la matricula:");
        Matricula m = anadirMatricula();
        System.out.println("Introduce el código del parte:");
        String codigo = Lector.leerString();
        System.out.println("Introduce la descripción del parte:");
        String descripcion = Lector.leerString();
        System.out.println("Introduce el importe del parte:");
        double importe = Lector.leerDouble();
        parte = new Partes(m,codigo, descripcion,importe);
       
        if (HashPartes.containsKey(parte.getMatricula())){
            ArrayList<Partes> ArrPartes = new ArrayList<Partes>();
            HashPartes.put(parte.getMatricula(), ArrPartes);
            HashPartes.get(parte.getMatricula()).add(parte);
            } else{  HashPartes.get(parte.getMatricula()).add(parte);}
        
        Iterator<Matricula> it = HashPartes.keySet().iterator();
        while (it.hasNext()){
        	Matricula key = it.next();
        	System.out.println("datos amtricula: "+ key + "--Valor " + HashPartes.get(key));
        }
        System.out.println("numero de registros: " + HashPartes.size());
        System.out.println("datos registrados: " + HashPartes.keySet());
    }
 // metodo añadir matricula
    private Matricula anadirMatricula() {
        String provincia="";
        int numero=0;
        String letra="";
        
        System.out.println("Introduce la letra asociada a la provincia");
        provincia = Lector.leerString();
        System.out.println("Introduce el número de la matrícula");
        numero = Lector.leerInt();
        System.out.println("Introduce las letras del final de la matrícula");
        letra=Lector.leerString();
        
        Matricula m = new Matricula(provincia,numero,letra);
        return m;
    }
    public void mostrar(){
    	// introducimos una matricula para despues comprobar si esta guardada
        Matricula matr = anadirMatricula();
        // si la matricula est aguardada la mostramso por pantalla 
        if(!HashPartes.containsKey(matr)){
  // aqui tengo el problema.
        } else   System.out.println("Objeto no localizado");
    }
    public void listar(){
        //Primero comprobamos que el HashMap no está vacío.
        System.out.println("LISTADO COMPLETO DE PARTES \n ========");
        if(HashPartes.size()!= 0){
            //Recorremos las claves por matrícula
            Set<Matricula> keysmatri = HashPartes.keySet();
            Iterator<Matricula> itMatri = keysmatri.iterator();
            while (itMatri.hasNext()){
                itMatri.hasNext();
                Matricula m = itMatri.next();
                //Y por cada matrícula, recorremos el array de partes
                ArrayList<Partes> ArrPartes = HashPartes.get(m);
                Iterator<Partes> itPart = ArrPartes.iterator();
                while(itPart.hasNext()){
                    Partes p = itPart.next();
                    System.out.println("========");
                    System.out.println("Matricula: " + p.getMatricula().getProvincia() +"-"+ p.getMatricula().getNumero()+"-"+p.getMatricula().getLetra() + "\n" +
                                       "Codigo: " + p.getCodigo() + "\n" +
                                       "Descripción: " + p.getDescripcion() + "\n" + 
                                       "Importe: " + p.getImporte() + " Euros."+ "\n");
                } 
            }   
        }else{
                System.out.println("No hay partes para esta matrícula o la matrícula no existe.");
        }
    }