Buenos días,
Yo estoy intentando realizar el mismo ejercicio, pero llega un momento donde me bloqueo:
package tareaCinco;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Parquimetro {
static String matricula;
static void checkmatricula (String matricula) throws Exception{
Pattern pat = Pattern.compile("((\d{4})([a-z]{3}))");
Matcher mat = pat.matcher(matricula);
if(!mat.matches()){
throw new Exception ("Matrícula incorrecta");
}
}
static int opcElegida;
static double SaldoAcumulado;
static double SaldoIntroducido;
static void checkMonedas (int opcElegida) throws Exception{
SaldoAcumulado=0.0;
while (opcElegida!=4){
switch (opcElegida){
case 1: SaldoIntroducido=100.0;
SaldoAcumulado+=SaldoIntroducido;
System.out.println("Saldo acumulado : " + SaldoAcumulado + " Céntimos de Euro" );
break;
case 2: SaldoIntroducido=20.0;
SaldoAcumulado+=SaldoIntroducido;
System.out.println("Saldo acumulado : " + SaldoAcumulado + " Céntimos de Euro" );
break;
case 3: SaldoIntroducido=10.0;
SaldoAcumulado+=SaldoIntroducido;
System.out.println("Saldo acumulado : " + SaldoAcumulado + " Céntimos de Euro" );
break;
case 4:
SaldoAcumulado+=SaldoIntroducido;
System.out.println("Saldo acumulado : " + SaldoAcumulado + " Céntimos de Euro" );
break;
}
if (SaldoAcumulado > 180){
throw new Exception ("Saldo Excedido");
}
}
}
}
package tareaCinco;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
- @author David Martin davidapuntes@hotmail.com
*/
public class UsoParquimetro {
public static void main (String [] args){
try {
System.out.println("Parquímetro de monedas");
System.out.println("Siga atentamente las instrucciones");
System.out.println("Introducir matrícula");
Scanner scanner= new Scanner (System.in);
String matriculaIntroducida= scanner.nextLine();
Parquimetro.checkmatricula(matriculaIntroducida);}
catch (Exception ex) {
System.out.println("Matrícula no correcta");
return;
}
System.out.println("Introduce monedas");
System.out.println("1. Una moneda de 1 €");
System.out.println("2. Una moneda de 20 Cent. de €");
System.out.println("3. Una moneda de 10 Cent. de €");
System.out.println("4. Dejar de introducir monedas");
System.out.print("Elige Opción");
Scanner scanner= new Scanner(System.in);
int opcion = scanner.nextInt();
try {
Parquimetro.checkMonedas(opcion);
} catch (Exception ex) {
System.out.println("Saldo Excedido");}
}
}
Obviamente el programa no es correcto...Pero estoy bastante bloqueado, sobre todo con el tema del loop que habría que hacer para que cada vez que introduzcas monedas, te calcule el saldo, y de nuevo te ofrezca las mismas opciones...
Agradecería sus opiniones.
Gracias