Java - VALIDAR EN JAVA RUT CHILENO

 
Vista:

VALIDAR EN JAVA RUT CHILENO

Publicado por Andres (1 intervención) el 22/06/2011 03:06:25
Hola amigos, estoy tratando de resolver un ejercicio en Java sobre VALIDAR RUT CHILENO, el problema es que no puedo ingresar puntos ni ningun tipo de CHAR ya que el programa me lo arroja como invalido debido a que todo esta hecho para solo ENTEROS, intente hacerle un REPLACE pero no pasa nada, me he cabezeado bastante y aun no puedo,,, si me pueden ayudar se los agradeceria
La idea es que quede asi .. por ej : 12.333.441 ---> EL DIGITO VERIFICADOR ES 8
La idea es poder ingresar lo con puntos... este código esta hecho en BLUEJ.. se los mando.

Gracias de antemano


*
*
* @version 0.1
*/

import java.io.*; //Importamos la biblioteca estándar


class ValidarRut{ //Clase con la que vamos a trabajar

public static void main(String args[]) throws IOException{
/*Es más cortito, es para arrojar una excepción :B */

int rut,digito,suma,resto,resultado,factor;
String rutString;

//Para el manejo de entrada estándar
InputStreamReader e = new InputStreamReader(System.in);
BufferedReader ingreso = new BufferedReader(e);

do{
System.out.println("-------------->VALIDADOR DE RUT <---------------");
System.out.println("Ingrese rut sin digito verificador y sin puntos ni guion:");

rutString = ingreso.readLine();
rut = Integer.parseInt(rutString);

} while(rut <= 0); //Iteración

//Ahora viene la parte de extraer dígito por dígito el rut

for(factor = 2, suma = 0; rut > 0; factor++){

digito = rut % 10;
rut /= 10;
suma += digito * factor;

if(factor >= 7) factor = 1; //Para volver al ciclo

}
// Ahora viene el algoritmo del módulo 11

resto = suma % 11;
resultado = 11 -resto;

//Mostramos por pantalla.
//Si el resultado es menor que 10, se imprime el número.
//Si es igual a 10, entonces se imprime "K"
//Si no, entonces es 0

System.out.println("El digito verificador es: ");

if(resultado < 10) System.out.println(resultado+"\n");
else if (resultado == 10) System.out.println("K\n");
else System.out.println("0\n");


}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder