idzik

Matura/2012/Szyfr

Oct 2nd, 2016
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.PrintWriter;
  4. import java.util.HashMap;
  5. import java.util.Scanner;
  6. public class Szyfr {
  7.  
  8.     public static String szyfruj(String jawny,String klucz,HashMap mapa){
  9.         String tajny="";
  10.             if (klucz.length()<jawny.length()){
  11.             int j=0; // pierwsza litera z klucza do wstawienia
  12.             for (int i = klucz.length()-1; i < jawny.length()-1; i++) {
  13.                 klucz=klucz+klucz.charAt(j);
  14.                 j=j+1;
  15.             }
  16.         }
  17.         for (int i = 0; i < jawny.length(); i++) {
  18.             int dlugosc=(int)jawny.charAt(i)+(int)mapa.get(""+klucz.charAt(i));
  19.             if (dlugosc>90) dlugosc=dlugosc-26;
  20.             tajny=tajny+(char)(dlugosc);
  21.         }
  22.         return tajny;
  23.     }
  24.    
  25.     public static String deszyfruj(String szyfrogram,String klucz,HashMap mapa){
  26.         String jawny="";
  27.         if (klucz.length()<szyfrogram.length()){
  28.             int j=0; // pierwsza litera z klucza do wstawienia
  29.             for (int i = klucz.length()-1; i < szyfrogram.length()-1; i++) {
  30.                 klucz=klucz+klucz.charAt(j);
  31.                 j=j+1;
  32.             }
  33.         }
  34.         for (int i = 0; i < szyfrogram.length(); i++) {
  35.             int dlugosc=(int)szyfrogram.charAt(i)-(int)mapa.get(""+klucz.charAt(i));
  36.             if (dlugosc<65) dlugosc=dlugosc+26;
  37.             jawny=jawny+(char)(dlugosc);
  38.         }
  39.         return jawny;
  40.     }
  41.    
  42.     public static void main(String[] args) throws FileNotFoundException {
  43.         HashMap <String,Integer> mapa=new HashMap <String,Integer>();
  44.         mapa.put("A", 1);mapa.put("B", 2);mapa.put("C", 3);mapa.put("D", 4);mapa.put("E", 5);mapa.put("F", 6);
  45.         mapa.put("G", 7);mapa.put("H", 8);mapa.put("I", 9);mapa.put("J", 10);mapa.put("K", 11);mapa.put("L", 12);
  46.         mapa.put("M", 13);mapa.put("N", 14);mapa.put("O", 15);mapa.put("P", 16);mapa.put("Q", 17);mapa.put("R", 18);
  47.         mapa.put("S", 19);mapa.put("T", 20);mapa.put("U", 21);mapa.put("V", 22);mapa.put("W", 23);mapa.put("X", 24);
  48.         mapa.put("Y", 25);mapa.put("Z", 26);
  49.         // szyfrowanie
  50.         File plika1=new File("tj.txt");
  51.         File plika2=new File("klucze1.txt");
  52.         File plika3=new File("wyniki4a.txt");
  53.         PrintWriter zapisa=new PrintWriter(plika3);
  54.         Scanner odczyta=new Scanner(plika1);
  55.         Scanner odczytb=new Scanner(plika2);
  56.         while(odczyta.hasNextLine() && odczytb.hasNextLine()){
  57.             zapisa.println(szyfruj(odczyta.nextLine(),odczytb.nextLine(),mapa));
  58.         }
  59.         odczyta.close();
  60.         odczytb.close();
  61.         zapisa.close();
  62.        
  63.         //deszyfrowanie
  64.         File plikb1=new File("sz.txt");
  65.         File plikb2=new File("klucze2.txt");
  66.         File plikb3=new File("wyniki4b.txt");
  67.         PrintWriter zapisb=new PrintWriter(plikb3);
  68.         Scanner odczytc=new Scanner(plikb1);
  69.         Scanner odczytd=new Scanner(plikb2);
  70.         while(odczytc.hasNextLine() && odczytd.hasNextLine()){
  71.             zapisb.println(deszyfruj(odczytc.nextLine(),odczytd.nextLine(),mapa));
  72.         }
  73.         odczytc.close();
  74.         odczytd.close();
  75.         zapisb.close();
  76.     }
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment