Auf Thema antworten

Hier ist ein Beispiel, wie du eine Textdatei in eine Matrix packen und diese dann verschlüsseln kannst:

[CODE=java]import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;


public class Main {

    public static void main(String[] args) {

        String[][] matrix = new String[5][5];  // Erstelle eine 5x5-Matrix

        String text = "";  // Lege eine Variable für den Text an


        // Lies den Text aus der Datei ein und speichere ihn in der Variable "text"

        try (BufferedReader br = new BufferedReader(new FileReader("text.txt"))) {

            String line;

            while ((line = br.readLine()) != null) {

                text += line;

            }

        } catch (IOException e) {

            e.printStackTrace();

        }


        // Packe den Text in die Matrix

        int row = 0;

        int col = 0;

        for (int i = 0; i < text.length(); i++) {

            matrix[row][col] = String.valueOf(text.charAt(i));  // Füge den Buchstaben an der aktuellen Position in die Matrix ein

            col++;  // Erhöhe die Spalte um 1

            if (col == 5) {  // Wenn die Spalte den Wert 5 hat, gehe zur nächsten Zeile

                col = 0;

                row++;

            }

        }


        // Fülle die restlichen Felder der Matrix mit X auf

        for (int i = row; i < matrix.length; i++) {

            for (int j = col; j < matrix[0].length; j++) {

                matrix[i][j] = "X";

            }

            col = 0;  // Setze die Spalte wieder auf 0, wenn die nächste Zeile erreicht wurde

        }


        // Verschlüssele die Matrix

        for (int i = 0; i < matrix.length; i++) {

            for (int j = 0; j < matrix[0].length; j++) {

                char c = matrix[i][j].charAt(0);  // Hole den Buchstaben an der aktuellen Position

                c = (char) (c + 1);  // Verschiebe ihn um 1 nach vorne

                matrix[i][j] = String.valueOf(c);  // Speichere den verschlüsselten Buchstaben wieder in der Matrix

            }

        }


        // Gebe den verschlüsselten Text wieder aus

        for (int i = 0; i < matrix.length; i++) {

            for (int j = 0; j < matrix[0].length; j++) {

                System.out.print(matrix[i][j]);

            }

        }

    }

}

[/CODE]



Oben