Java - Problema con if else con java

 
Vista:

Problema con if else con java

Publicado por Jordimg (1 intervención) el 06/11/2013 14:20:19
Hola, me pide un ejercicio que entre un precio para aplicar un descuento o no con un maximo de intentos. El problema lo tengo cuando me pide que escriba la letra "a" para que me de un error y descuente un inento, cuando la escribo, me descuenta todos los intentos y no me pide precio otra vez.
Alguna solución?
Gracias!!

import java.util.Scanner;
public class Probeta {
//Es fa un descompte del 8%.
public static final float DESCOMPTE = 8;
//Es fa descompte per compres de 100 euros o més.
public static final float COMPRA_MIN = 100;
//Valor del descompte màxim: 10 euros.
public static final float DESC_MAXIM = 10;
public static final int MAX_INTENTS = 3;
public static void main (String[] args) {
Scanner lector = new Scanner(System.in);
int comptador = 0;
boolean numValid = false;

char lletra;

while(comptador < MAX_INTENTS) {
System.out.print("Quin és el preu del producte en euros? ");
boolean tipusCorrecte = lector.hasNextFloat();
comptador++;
//El tipus és correcte?
if (tipusCorrecte) {
float preu = lector.nextFloat();
lector.nextLine();


if (preu > 0) {
if (preu >= COMPRA_MIN) {
float descompteFet = preu * DESCOMPTE / 100;

if (descompteFet > DESC_MAXIM) {
descompteFet = DESC_MAXIM;
}

preu = preu - descompteFet;
}
System.out.println("El preu final per pagar és de " + preu +
" euros.");
}else {
numValid = true;
System.out.println("Preu incorrecte. És negatiu.");
}
}else {
numValid = false;
comptador++;
//No s'ha escrit un enter.

System.out.println("El valor introduït no és un enter.");
}

}
}
}
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