Actualmente el DNI puede empezar por una letra, por lo tanto si se desea calcular correctamente si el DNI es correcto se debe convertir.
public static int conversionDni(String dni){
String nuevoDni = "";
switch(dni.charAt(0)){
case 'X':
nuevoDni="0"+dni.substring(1,dni.length());
break;
case 'Y':
nuevoDni="1"+dni.substring(1,dni.length());
break;
case 'Z':
nuevoDni="2"+dni.substring(1,dni.length());
break;
default:
nuevoDni=dni;
break;
}
return Integer.parseInt(nuevoDni);
}
public static int conversionDni(String dni){
String nuevoDni = "";
switch(dni.charAt(0)){
case 'X':
nuevoDni="0"+dni.substring(1,dni.length());
break;
case 'Y':
nuevoDni="1"+dni.substring(1,dni.length());
break;
case 'Z':
nuevoDni="2"+dni.substring(1,dni.length());
break;
default:
nuevoDni=dni;
break;
}
return Integer.parseInt(nuevoDni);
}