Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con ejercicio Java eclipse

Estas en el tema de Problema con ejercicio Java eclipse en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/06/2015, 02:25
 
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.");
        }
    }
  #2 (permalink)  
Antiguo 02/06/2015, 08:06
 
Fecha de Ingreso: junio-2015
Ubicación: Bilbao
Mensajes: 5
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Problema con ejercicio Java eclipse

Dentro del primer if (Haspartes.size() > 0) pones otro if:
Código Java:
Ver original
  1. if( HashPartes.containsKey(matricula)){
  2.  //Matrícula encontrada
  3. } else {
  4.  //Matrícula no encontrada
  5. }
  #3 (permalink)  
Antiguo 03/06/2015, 04:10
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Respuesta: Problema con ejercicio Java eclipse

Gracias por tu respuesta, voy a probar.
  #4 (permalink)  
Antiguo 03/06/2015, 04:41
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Respuesta: Problema con ejercicio Java eclipse

esto he probado y no me funciona:
Cita:
public void mostrar(){
// introducimos una matricula para despues comprobar si esta guardada
System.out.println("--- Introduce los datos de la Matricula asociada al parte -----");
Matricula matr = anadirMatricula();
System.out.println("matricula introducida: " + matr.getProvincia() + matr.getNumero() + matr.getLetra());
// si la matricula esta guardada la mostramso por pantalla
if(HashPartes.size()>0)
{ if(HashPartes.containsKey(matr))
{
ArrayList<Partes> ArrPartes = HashPartes.get(matr);
Iterator<Partes> itPart = ArrPartes.iterator();
System.out.println("Partes relacionado con matricula <" + matr.getProvincia()+ "-" +
matr.getNumero() +"-" + matr.getLetra());
System.out.println("------------");

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() + "\n");
}
} else {System.out.println("Objeto no localizado");
}//2º if
}//1er if
}

Etiquetas: eclipse
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:18.