Program: wczytujący z pliku „input.txt” REGON’y po czym segreguje je na 9 cyfrowe jak i 14 oraz sprawdza ich poprawność.
Wyniki zapisuje w plikach „regon9.txt” oraz „regon14.txt”.
Kompilator: Eclipse
Kod programu:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class glowna {
//Program wczutujący regony z pliku a następnie segregujący je i
//zapisujący jeśli są poprawne.
public static boolean regon9(String reg){
int k9[]=new int[]{8,9,2,3,4,5,6,7};
int suma=0;
for(int i=0;i<=7;i++){
suma+=((int)reg.charAt(i)-48)*k9[i];
}
suma%=11;
if (suma==10) suma=0;
if(suma!=((int)reg.charAt(8)-48)) return false;
return true;
}
public static boolean regon14(String reg){
int k14[]=new int[]{2,4,8,5,0,9,7,3,6,1,2,4,8};
int suma=0;
for(int i=0;i<=12;i++){
suma+=((int)reg.charAt(i)-48)*k14[i];
}
suma%=11;
if (suma==10) suma=0;
if(suma!=((int)reg.charAt(13)-48)) return false;
return true;
}
public static void main(String[] args) {
try{
File pliko = new File("regon9.txt");
pliko.createNewFile();
File pliko1 = new File("regon14.txt");
pliko1.createNewFile();
FileReader we = new FileReader("regon.txt");
BufferedReader buforWe = new BufferedReader(we);
FileWriter wy9 = new FileWriter("regon9.txt");
BufferedWriter buforWy9 = new BufferedWriter(wy9);
FileWriter wy14 = new FileWriter("regon14.txt");
BufferedWriter buforWy14 = new BufferedWriter(wy14);
String linia;
int i9=0,i14=0,id9=0,id14=0;
while((linia = buforWe.readLine())!=null){
if(linia.length()==9){
i9++;
if(regon9(linia)){
id9++;
buforWy9.write(linia);
buforWy9.newLine();
}
}
else if(linia.length()==14){
i14++;
if(regon14(linia)){
id14++;
buforWy14.write(linia);
buforWy14.newLine();
}
}
}
buforWy9.close();
buforWy14.close();
buforWe.close();
}catch(IOException ex){
System.out.print("Błąd: "+ex);
}
}
}