aqui lo tienes:
public class ValidaRut {
private static String rut;
private static String dv;
public static String invierteCadena(String s) {
String palabra = "";
for (int i = s.length() - 1; i >= 0; i--) {
String letra = String.valueOf(s.charAt(i));
palabra += letra;
}
return palabra;
}
public static void setRut(String valor){rut=valor;}
public static void setDv(String valor){dv=valor;}
public static String getRut(){ return(rut);}
public static String getDv(){ return(dv);}
public static boolean esNumero(String s) {
String Numero = "123456789";
if (Numero.indexOf(s) != -1) {
return true;
} else {
return false;
}
}
//para la verificacion se el rut es valido;:
public static boolean esRutValido(String rut) {
if (rut == null || rut.equals("")) {return false;}
else {
rut = rut.replace(".", "");
rut = rut.replace("-", "");
rut = rut.trim();
rut=rut.toLowerCase();
dv = String.valueOf(rut.charAt(rut.length() - 1));
int multiplica = 2;
int total = 0;
for (int i = rut.length() - 2; i >= 0; i--) {
String letra = String.valueOf(rut.charAt(i));
try{
int n = Integer.parseInt(letra);
total = (n * multiplica) + total;
multiplica++;
if (multiplica > 7) {
multiplica = 2;
}
}catch(Exception ex){
return false;
}
}
int resultado1 = total % 11;
int resultado2 = 11 - resultado1;
String resultadoFinal = String.valueOf(resultado2);
if (resultadoFinal.equals("10")) {
resultadoFinal = "k";
}
if (resultadoFinal.equals("11")) {
resultadoFinal = "0";
}
if (dv.equals(resultadoFinal)) {
setRut(rut);
setDv(resultadoFinal);
return true;
} else {
setRut("");
setDv("");
return false;
}
}
}
}