package e2005oktober; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; public class E2005oktober { /* NetBeans: UTF-8 karakterkódolás az Output ablakban: https://juhaasztamaas.hu/inf/informatika-programozas/java/netbeans-alapok/ */ public static void main(String[] args) throws IOException{ // 1. feladat System.out.println("1. feladat"); Scanner sc = new Scanner(System.in); System.out.println("Kérem, adjon meg egy max. 255 karakter hosszú szöveget!"); String eredeti = sc.nextLine(); System.out.println("------------------"); System.out.println(); // 2. feladat System.out.println("2. feladat"); eredeti = eredeti.toUpperCase(); // RegEx-szel nagyon egyszerűen lehet a problémát kezelni! :-) String nyiltSzoveg = eredeti.replaceAll("[^A-Z]", ""); System.out.println("Az átalakítás megtörtént. :-)"); System.out.println("------------------"); System.out.println(); // 3. feladat System.out.println("3. feladat"); System.out.println(nyiltSzoveg); System.out.println("------------------"); System.out.println(); // 4. feladat System.out.println("4. feladat"); System.out.println("Kérek egy 5 karakteres, nem üres kulcsszót!"); String kulcsszo = sc.nextLine().toUpperCase(); System.out.println("Átalakítás után a kulcsszó: " + kulcsszo); System.out.println("------------------"); System.out.println(); // 5. feladat System.out.println("5. feladat"); String kulcsSzoveg = ""; for (int i = 0; i < nyiltSzoveg.length() / kulcsszo.length(); i++) { kulcsSzoveg += kulcsszo; } for (int i = 0; i < nyiltSzoveg.length() % kulcsszo.length(); i++) { kulcsSzoveg += kulcsszo.charAt(i); } System.out.println("A kulcsszöveg: " + kulcsSzoveg); System.out.println("------------------"); System.out.println(); // 6. feladat System.out.println("6. feladat"); // scF- scannerFile Scanner scF = new Scanner(new FileReader("Vtabla.dat")); String sor=""; char[][] tabla = new char[26][26]; for (int i = 0; i < 26; i++) { sor = scF.nextLine(); for (int j = 0; j < 26; j++) { tabla[i][j] = sor.charAt(j); } } // // A tabla létrejöttének ellenőrzése // for (int i = 0; i < 26; i++) { // for (int j = 0; j < 26; j++) { // System.out.print(tabla[i][j]); // } // System.out.println(); // } String kodoltSzoveg=""; for (int i = 0; i < nyiltSzoveg.length(); i++) { int x = (int)nyiltSzoveg.charAt(i); int y = (int)kulcsSzoveg.charAt(i); kodoltSzoveg += tabla[x-65][y-65]; } System.out.println(kodoltSzoveg); System.out.println("------------------"); System.out.println(); // 7. feladat System.out.println("7. feladat"); FileWriter fw = new FileWriter("kodolt.dat"); PrintWriter pw = new PrintWriter(fw); pw.print(kodoltSzoveg); pw.close();fw.close();sc.close(); System.out.println("A kódolt szöveg kiírva a kodolt.dat fájlba."); } }