This is the exercise: Create a Program that allows you to enter a person's Rut and show:
If the Rut is valid or not, if it is not valid, allow it to be re-entered, you only have 3 chances to make a mistake, after 3 times the program ends with a blocking message, if it is valid, show message.
Enter the Rut without the verifier and the program must calculate and display the corresponding verifier. The program must allow the entry of as many Rut as necessary.
And so I did:
(This is the class):
public class ValidacionRut {
private int rut;
private String rutDigito;
private int Digito;
private int Multiplo;
private int Acumulador;
public ValidacionRut(String rutDigito, int Digito, int Multiplo, int Acumulador, int rut) {
this.rutDigito = rutDigito;
this.Digito = Digito;
this.Multiplo = Multiplo;
this.Acumulador = Acumulador;
}
public ValidacionRut() {
}
public String getRutDigito() {
return rutDigito;
}
public void setRutDigito(String rutDigito) {
this.rutDigito = rutDigito;
}
public int getDigito() {
return Digito;
}
public void setDigito(int Digito) {
this.Digito = Digito;
}
public int getMultiplo() {
return Multiplo;
}
public void setMultiplo(int Multiplo) {
this.Multiplo = Multiplo;
}
public int getAcumulador() {
return Acumulador;
}
public void setAcumulador(int Acumulador) {
this.Acumulador = Acumulador;
}
public int getRut() {
return rut;
}
public void setRut(int rut){
this.rut=rut;
}
public void ValidarRut(){
int contador;
contador=2;
Acumulador=0;
while (rut!=0){
Multiplo=(rut%10)*contador;
Acumulador=Acumulador+Multiplo;
rut=rut/10;
contador=contador++;
if(contador==8){
contador=2;
}
}
}
}
(This is the main): public class Exercise_RUT {
public static void main(String[] args) {
ValidacionRut Leer=new ValidacionRut();
int rut;
String rutDigito = null;
int Digito = 0;
int Multiplo;
int Acumulador;
rut=Integer.parseInt(JOptionPane.showInputDialog("Ingresar el RUT de la persona"));
JOptionPane.showMessageDialog(null, "El rut ingresado es: "+rut);
ValidacionRut rutPersona= new ValidacionRut();
rutPersona.ValidarRut();
if(Digito==10){
rutDigito="K";
JOptionPane.showMessageDialog(null, "El rut es valido");
}
if(Digito==11){
rutDigito="0";
JOptionPane.showMessageDialog(null, "El rut es valido");
}
if(Digito>10 && Digito>11){
JOptionPane.showMessageDialog(null, "Rut totalmente invalido");
}
}
}
But it does not take me from the first if down, I do not know what I'll be failing: (