Java - Ayuda con último ejercicio antes de examen

 
Vista:

Ayuda con último ejercicio antes de examen

Publicado por Cristian (2 intervenciones) el 19/01/2017 19:04:25
Llevo ya casi un día atrapado en el mismo punto, en la validación de la matricula y veo que no salgo de ahí, y tengo de fecha limite hasta el 23, si alguien pudiese echarme una ayuda, el ejercicio es lo siguiente

Realizar un proyecto Java en el Entorno Netbeans que simule el funcionamiento de un parquímetro de la Zona Azul. Se considerarán las siguientes circunstancias:

- El tiempo máximo de estancia será de 2 horas. No se admitirán monedas por un importe superior al que corresponde a ese tiempo máximo.

- El coste por minuto es de 0’015€.

Se basarán en dos clases:

a) Parquimetro

b) UsoParquimetro

La clase Parquimetro asumirá la responsabilidad de ofrecer la funcionalidad básica del parquímetro, teniendo entre otras misiones detectar los posibles errores que se pueda producir en la introducción de la matrícula y en el intento de introducir monedas que correspondan un tiempo de estacionamiento superior al máximo permitido de 2 horas.

Estas situaciones provocarán el correspondiente lanzamiento de excepciones desde la clase Parquimetro que serán recogidas y gestionadas en la clase UsoParquimetro.

En el momento de introducir la matrícula se comprobará:

1) Que el número de caracteres sea 7.

2) Que los cuatro primeros son dígitos numéricos.

3) Que los tres últimos son letras.

La figura adjunta muestra uno de los casos:

image

Toda la entrada/salida por consola se deberá realizar exclusivamente en la clase UsoParquimetro. Es decir NO se permitirá ninguna instrucción de entrada/salida en la clase Parquimetro.

La impresión del recibo contendrá el valor de la matrícula introducida así como la hora máxima de estacionamiento. Para poder calcular este último dato se deberá hacer uso de la clase de biblioteca GregorianCalendar.

Una muestra es la que aparece a continuación:

image

Si la cantidad monetaria introducida es superior a la que correspondería a una estancia máxima de 2 horas, el programa debería responder tal como se muestra en la siguiente figura:

image


la validación la estoy haciendo dentro del try, en el anterior ejercicio también me pasó que me atasque en la gestión de errores, llevo esto...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package usoparquimetro;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 *
 * @author Cristian Fernández Moreno
 */
public class UsoParquimetro {
    /**
     * @param args the command line arguments
     */
 
    /*class Parquimetro{
        
    }*/
    public static String matricula;
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        try{
            System.out.println("Parquimetro de monedas");
            System.out.println("Siga atentamente las intrucciones");
            System.out.print("Introducir Matricula: ");
            matricula = entrada.next();
            Pattern pat = Pattern.compile("((\\d{4})([A-Z]{3}))");
            Matcher mat = pat.matcher(matricula);
 
            System.out.println("Prueba");
 
        }
        catch (Exception e){
            System.out.println("Error");
        }
    }
 
}

QUE SE NOTE EL SOBRESALTO DEL SYSTEM.OUT.....("Prueba"); porque de ahi no paso, esto que tengo no me da el error y me sale el mensaje de error, y me estoy desesperando ya de tanto pensar... y la duda es si lo siguiente de las monedas se haría con una estructura repetitiva while?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con último ejercicio antes de examen

Publicado por Tom (1831 intervenciones) el 19/01/2017 20:15:49
¿ Quieres decir que siempre salta una excepción ?
Si es así ¿ cual ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con último ejercicio antes de examen

Publicado por Cristian (2 intervenciones) el 19/01/2017 20:21:59
Quiero decir que directamente no salta a la excepción, es decir, salta al cath, sigue el try y pone el siguiente mensaje por consola que es Prueba en este caso, ponga mal o bien la matricula, no la comprueba mediante el patrón y no se el por que o cual es mi fallo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con último ejercicio antes de examen

Publicado por Tom (1831 intervenciones) el 20/01/2017 09:11:43
Y ¿ por qué la iba a comprobar ? Solamente estás creando los objetos. Mira el ejemplos de la doc de Pattern.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con último ejercicio antes de examen

Publicado por ctmy (3 intervenciones) el 21/01/2017 07:43:17
Tenes que utilizar el metodo find the Matcher

1
2
3
4
5
if(mat.find()){
 
}else{
 //error
}

Pero segun esto "Estas situaciones provocarán el correspondiente lanzamiento de excepciones desde la clase Parquimetro que serán recogidas y gestionadas en la clase UsoParquimetro." Deberias extender la clase Exception en la clase UsoParquimetro para poder general exceptiones.

Espero que eso te de alguna idea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar