Qualcuno mi sa spiegare dove sbaglio... grazie e chiunque mi può dare un aiuto...
/** Scrivere un programma che converta la lettera di un voto scolastico nel numero
* corrispondente.
* Le lettere sono A,B,C,D e F, eventualmente seguita dai segni + o -.
* I loro valori numerici sono4,3,2,1 e 0, Fp e F+ non esistono.
* Un segno + o - Incrementa o decrementa il valore numerico di 0,3, tuttavia, A+ è uguale
* a 4,0.
*
* @author Lory
*
*/
public class Grade {
public Grade(String valore){
voto = valore;
}
/**
* @return
*/
public double getnumericGrade()
{
if(((voto.substring(0, 1)).equalsIgnoreCase("A"))||((voto.substring(1, 2)).equalsIgnoreCase("A")))
newVoto = 4;
if(((voto.substring(0, 1)).equalsIgnoreCase("B")) ||((voto.substring(1, 2)).equalsIgnoreCase("B")))
newVoto = 3;
if(((voto.substring(0, 1)).equalsIgnoreCase("C")) ||((voto.substring(1, 2)).equalsIgnoreCase("C")))
newVoto = 2;
if(((voto.substring(0, 1)).equalsIgnoreCase("D")) ||((voto.substring(1, 2)).equalsIgnoreCase("D")))
newVoto = 1;
if(voto.equalsIgnoreCase("F"))
newVoto = 0;
if(voto.length()==2)
{
if((voto.substring(0, 1)).equalsIgnoreCase("-"))
newVoto = newVoto - supplemento;
if((voto.substring(1, 2)).equalsIgnoreCase("+"))
newVoto = newVoto + supplemento;
}
else
System.out.println("Valore errato");
return newVoto;
}
private String voto;
public double newVoto;
public static final double supplemento = 0.3;
}

Rispondi quotando