Sprawdzanie REGON’u

Sprawdzanie REGON’u

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

Słowniczek pojęć:

Krajowy Rejestr Urzędowy Podmiotów Gospodarki Narodowej – rejestr prowadzony przez Prezesa Głównego Urzędu Statystycznego. Pod pojęciem REGON-u rozumiany jest także numer identyfikacyjny REGON, czyli dziewięciocyfrowy numer podmiotu gospodarki narodowej w powyższym rejestrze.