import java.util.*;
public class Cuarentaiuno
{
static void main(){
Scanner leer = new Scanner(System.in);
System.out.print("ingrese rut sin guion");
int a =leer.nextInt();
//variables contenedora
int n,b,c,d,e,f,g,h,i;
//descomponer el cuerpo del rut, para luego contener cada numero en una va<riable.
int A=a/10000000; //se guarda el primer numero
n=a%10000000;
int B=n/1000000;
n=n%1000000;
int C=n/100000;
n=n%100000;
int D=n/10000;
n=n%10000;
int E=n/1000;
n=n%1000;
int F=n/100;
n=n%100;
int G=n/10;
n=n%10;
// Multiplicar cada digito,
b=A*3; c=B*2; d=C*7; e=D*6; f=E*5; g=F*4; h=G*3; i=n*2;
//sumar las multiplicaciones
int suma=b+c+d+e+f+g+h+i;
//dividir el total de la suma en 11
int division= suma/11;
//sacar el resto ya que con eso se trabaja
int resto=suma%11;
//a 11 se le quita el resto
int total=11-resto;
System.out.println("El numero verificador es: "+total);
System.out.println("Su rut es: "+A+B+C+D+E+F+G+n+"-"+total);
}
}
OTRA MANERA DE OBTENER EL NUMERO VERIFICARO DE RUT DE CHILE
import java.util.*;
public class CodVerRutChile
{
public static void main(){
/*la logica para calcular el numero verificador de las cedulas de identidad de chile
esta dada por la siguiente secuencia (rut prueba 18965316)
* multiplicar cada digito por los siguientes valores de forma correlativa.
- 3 2 7 6 5 4 3 2
* * * * * * * *
1 8 9 6 5 3 1 6
* se suman los resultados de cada multiplicacion*
* de la suma se extrae el resto
* a la contante 11 le sustraimos el resto danto el numero verificador*/
char letra = ' ';//almacen temporal de las letras
int conversion = 0;//almacen que guarda la transf. char/int
int multiplicativos[] = {3,2,7,6,5,4,3,2};//numeros multiplicativos
int resSuma[] = new int[1];//almacena la suma en una variable
int resto = 0;//guarda el resultado del resto
char digitos[] = new char[9];//guarda cada digito del rut en una posicion
Scanner leer = new Scanner(System.in);//se inicia el scanner
System.out.print("ingrese rut sin digito verificador : ");//pide lo que ingrese
String entrada = leer.nextLine();//extrae los datos ingresados como String
for (int i =0; i<entrada.length();i++){//recorre lo ingresado hasta su tamaño
letra = entrada.charAt(i);//extrae el digito y lo almacena el letra temporalmente
digitos[i] = letra;//guarda el digito extraido desde entrada
String cad = ""+digitos[i];//el digito capturado lo convierte a string
conversion = Integer.parseInt(cad);//el String con un digito lo convierte a int
resSuma[0] = resSuma[0]+conversion*multiplicativos[i];//hace la multiplicacion
}
resto = resSuma[0]%11;//extrae el resto de la suma
int digito = 11- resto;//calcula numero verificador
System.out.println("verificador:"+digito);//imprime numro verificador
System.out.println("su Rut es:"+entrada+"-"+digito);
}
}