
Patrick B. answered 10/12/20
Math and computer tutor/teacher
import java.io.*;
class ValidateCheckDigits
{
public void Go()
{
try
{
FileReader fileReader = new FileReader("E:\\accountNums.dat");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String inbuff=null;
FileWriter fileWriter = new FileWriter("E:\\validAcctNums.dat");
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
while (( inbuff = bufferedReader.readLine() )!=null)
{
int N = inbuff.length();
System.out.println(inbuff);
if (N!=6) { System.out.println("Account # " + inbuff + " incorrect length ");}
int checkSum=0;
for (int iLoop=0; iLoop<5; iLoop++)
{
char chChar = inbuff.charAt(iLoop);
checkSum = checkSum + (chChar-48);
}
System.out.println( " check sum = " + checkSum);
char checkDigit = inbuff.charAt(N-1);
if ((checkDigit-48) == (checkSum % 10))
{
System.out.println(inbuff + " is valid account # ");
bufferedWriter.write(inbuff+"\n",0,N+1);
}
else
{
System.out.println(inbuff + " is invalid account # ");
}
} //while
bufferedReader.close();
bufferedWriter.close();
} //try
catch (IOException ex)
{
}
}//Go
public static void main (String args[])
{
ValidateCheckDigits x = new ValidateCheckDigits();
x.Go();
}
}