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);

    }

}