Skytale deokodierungsalgorithmus und mehr

Status
Nicht offen für weitere Antworten.

CrazyRyu

Mitglied
nabend ^^

also ich hab folgendes problem mit java.

2 Freunde und me sollen in informatik einen skytale algoritmus schreiben zum kodieren und dekodieren.
der soll auch nopch ein paar andere sachen können, aber primär haben wir das problem, dass wir nicht wissen wie wir dekodieren.

bisher benutzen wir folgen algoritmus zum kodieren: ( mehr haben wa in info noch nicht gelernt, also nicht wundern, wenn er schlecht ist :p )

Code:
public void KodeActionPerformed(ActionEvent evt) {

                        int Textlaenge = Eingabefenster2.getText().length();
                        String Textlaengetext = String.valueOf(Textlaenge);
                        TextLength.setText(Textlaengetext);

                        String varZahl = Spaltenzahlfenster.getText();
                        int Zahl = Integer.parseInt(varZahl);

                        String text = InGrossbuchstaben.getText();
                        String NeuerText = grossbuchstaben;

                        int SZ = Zahl;
                        if(SZ > Textlaenge || SZ <= 0)
         {
          JOptionPane.showMessageDialog(null, "Die Spaltenzahl muss größer als Null und kleiner als die Textlänge sein");
         }
                        while(text.length() % SZ != 0){
                          text += " ";
                        }
                        
                        int ZZ = text.length() / SZ;
                        String VerschluesselterText = "";
                        for (int i = 0; i < ZZ; i++)
                        {
                          for (int j = 0; j < SZ; j++)
                          {
                            int Pos = (j*ZZ+i);
                            String Buchstabe = text.substring(Pos, (Pos+1));
                            VerschluesselterText += Buchstabe;
                          }
                        }
                        Kodieren.setText(VerschluesselterText);

tja ... wie macht man daraus wieder nen normalen text ? ^^

mfg crazyryu

ps: die letzte aufgabe ist es, den kodierten text als tabelle ausgeben zu lassen und da haben wir bisher auch keine ahnung... unser lehrer hat uns son bisel ins kalte wasser gestoßen, da wir java zwar beherrschen sollen, aber er uns wenig zum programm selbst beigebracht hat... help plx :S also wenn jemand nett ist :) bitte bitte bitte
 
X

Xellos

Gast
Hallo auch.
Bin einer der besagten Freunde.
Wir wollen nicht, dass ihr die Aufgabe für uns macht.
Wir haben über Java einfach nur nichts beigebracht bekommen :S
Er sagte einfach ladet euch den Java Editor und macht mal...
Ich komme mir vor, als würde mir jemand nen Text auf Russisch geben und sagen: "lies vor"... ich kann nunmal kein Russisch und genau so komm ich mir hier vor... er sagt kodiert und dekodiert mal ... aber wir sprechen die Sprache nicht.
Es gibt Online zwar Wörterbücher, aber die sind gigantisch und viel zu umfangreich für die kurze Zeit, die wir haben. Wir wollen ja nicht einmal die perfekte Lösung... aber so viel, dass ein Laie es sich selbst erarbeiten kann... und mit Laie meine ich wirklich vollkommener Anfänger ... was wir da Oben haben, haben wir mit viel Hilfe erstellt :(
 

madboy

Top Contributor
So weit ich informiert bin, wird der "skytale algorithmus" auf ein Array angewendet.
Was ich meine: Der zu verschlüsselnde Text wird zeilenweise in eine "Tabelle" geschrieben und dann spaltenweise wieder ausgelesen.
Folglich wird es am besten sein, ihr macht euch auch so eine "Tabelle", wo ihr zeilenweise reinschreibt und dann die Spalten wieder auslest.
So weit zur Theorie :wink:

In Java gibts Arrays (mit beliebiger Dimension).
Code:
String[] array = new String[10]; // Array mit 10 Positionen. Vorsicht: das erste Element hat den Index 0!
String[][] zweidimensional = new String[5][10]; //5 * 10 Array. Damit lassen sich Matrizen, Tabellen, ... darstellen. Sowas könntet ihr gebrauchen.

//füllen von Arrays:
array[0] = "bla";
array[1] = "blubb";
zweidimensional[0][1] = "bla2";

//Zugriffe auf Arrays:
String s = array[1];
String s2 = zweidimensional[0][1];

Wenn ihr jetzt verschlüsseln wollt, schreibt ihr den Text Buchstabe für Buchstabe in ein zweidimensionales Array
Code:
        String text = "das soll verschlüsselt werden";
        
        int spaltenZahl = 3;
        
        int zeilenZahl = (text.length() / spaltenZahl) + 1;
        
        char[][] zweidimensional = new char[spaltenZahl][zeilenZahl];
        
        int textPosition = 0;
        for (int spalte = 0; spalte < zweidimensional.length; spalte++) {
            for (int zeile = 0; zeile < zweidimensional[spalte].length; zeile++) {
                
                if(textPosition >= text.length()) {
                    break;
                }
              zweidimensional[spalte][zeile] = text.charAt(textPosition);
              textPosition++;
            }
            
            if(textPosition >= text.length()) {
                break;
            }
         }

Den verschlüsselten Text bekommt ihr dann, wenn ihr spaltenweise auslest
Code:
        String verschluesselt = "";
        for (int zeile = 0; zeile < zweidimensional[0].length; zeile++) {
            for (int spalte = 0; spalte < zweidimensional.length; spalte++) {

                verschluesselt += zweidimensional[spalte][zeile];
            }

         }
        
        System.out.println(verschluesselt);

Beim Entschlüsseln gehts rückwärts. Ihr schreibt den Text spaltenweise
Code:
         textPosition = 0;
        for (int zeile = 0; zeile < zweidimensional[0].length; zeile++) {
            for (int spalte = 0; spalte < zweidimensional.length; spalte++) {
                
                if(textPosition > text.length()) {
                    break;
                }
              zweidimensional[spalte][zeile] = verschluesselt.charAt(textPosition);
              textPosition++;
            }
            
            if(textPosition > text.length()) {
                break;
            }
         }

Dann wird zeilenweise ausgelesen
Code:
         String entschluesselt = "";
        for (int spalte = 0; spalte < zweidimensional.length; spalte++) {
            for (int zeile = 0; zeile < zweidimensional[spalte].length; zeile++) {

                entschluesselt += zweidimensional[spalte][zeile];
            }

         }
        
        System.out.println(entschluesselt);

Das geht auch ohne Arrays, aber mit Arrays ist es anschaulicher (meine Meinung).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 1
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 3
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
celta_vigo Programmieranfänger braucht Rat zu mehr Praxisnähe Java Basics - Anfänger-Themen 8
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
berserkerdq2 Warum ist das keine Referenzkopie mehr? Java Basics - Anfänger-Themen 26
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
C Was machen mit nicht mehr verwendeten Instanzen ? Java Basics - Anfänger-Themen 18
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
pkm Regexproblem - Wie kann ich zwei oder mehr beliebige Zeichen matchen? Java Basics - Anfänger-Themen 7
M Werte ändern sich nicht mehr nach Reset Java Basics - Anfänger-Themen 14
B Nach dem kompilieren werden Bilder nicht mehr gefunden Java Basics - Anfänger-Themen 10
H Vier Augen sehen mehr... Java Basics - Anfänger-Themen 6
C Exportierte JAR öffnet zweiten Frame nicht mehr Java Basics - Anfänger-Themen 7
P Ich komme nicht mehr weiter bei so einer einfachen Sache... Java Basics - Anfänger-Themen 18
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
L Mehr Verschlüsselungen Java Basics - Anfänger-Themen 3
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S Warum kann ich nicht mehr als eine Variable in einer for Schleife deklarieren ? Java Basics - Anfänger-Themen 1
L Compiler-Fehler AndroidStudio Projekt startet nicht mehr!!! Java Basics - Anfänger-Themen 2
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
kilopack15 Mehr Nachkommastellen mit double Java Basics - Anfänger-Themen 14
U Klassen IntelliJ14.1.1 Ultimate startet eine Main-Klasse NICHT MEHR Java Basics - Anfänger-Themen 0
MrSnake Subimages mehr Speicherplatz als Original? Java Basics - Anfänger-Themen 2
T Methoden Nach der Schleife funktioniert nichts mehr Java Basics - Anfänger-Themen 7
A Variablen Variable soll ihren Wert nach Initialisierung nicht mehr ändern Java Basics - Anfänger-Themen 2
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
D Erste Schritte Canvas verschwinden nicht mehr Java Basics - Anfänger-Themen 2
N Methode die mehr als ein Wert zurückgibt Java Basics - Anfänger-Themen 3
M .jar nicht mehr ausführbar. Java Basics - Anfänger-Themen 5
Z Fürge nur ein JTextField ein und danach wird nichts mehr angezeigt Java Basics - Anfänger-Themen 3
D MouseListener funktioniert nach Timerstart nicht mehr Java Basics - Anfänger-Themen 9
M Bekomm altes Uni-Projekt in java nicht mehr zum laufen Java Basics - Anfänger-Themen 7
H Empfohlene Projekt-Struktur und mehr ... Java Basics - Anfänger-Themen 5
S GUI kann im WindowBuilder nicht mehr (größer kleiner ziehen) Java Basics - Anfänger-Themen 2
O OOP Methoden bei erstellen einer Instanz und mehr Java Basics - Anfänger-Themen 4
J Java Writer funktioniert nicht mehr Java Basics - Anfänger-Themen 8
T Wenn Schaltjahr ist, soll Februar, einen Tag mehr haben, GUI mit combobox Java Basics - Anfänger-Themen 4
J Formen plötzlich nicht mehr aufrufbar! Java Basics - Anfänger-Themen 8
M Image Download klappt nicht mehr Java Basics - Anfänger-Themen 4
B Nichts geht mehr Java Basics - Anfänger-Themen 10
S MVC mit mehr als nur je einer Klasse? Java Basics - Anfänger-Themen 1
M Eclipse startet nicht mehr (eclipse.exe beendet sich selbst)? Java Basics - Anfänger-Themen 5
M Class nach Namensänderung nicht mehr vorhanden Java Basics - Anfänger-Themen 6
S Listener reagieren nicht mehr Java Basics - Anfänger-Themen 3
D KeyListener nicht mehr aktiv nach ActionPerformed Java Basics - Anfänger-Themen 2
Z Java Compiler will nicht mehr Java Basics - Anfänger-Themen 3
K Compiler-Fehler Programme funktionieren nicht mehr Java Basics - Anfänger-Themen 5
H Privat ist nicht mehr private Java Basics - Anfänger-Themen 7
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
C Variable funktioniert plötzlich nicht mehr? Java Basics - Anfänger-Themen 4
V Kann kein Java Projekt mehr mit Eclipse erstellen Java Basics - Anfänger-Themen 5
E Fehlermeldung und Fenster wird nicht mehr angezeigt Java Basics - Anfänger-Themen 12
P Classpath jdbc-Treiber kann nach export in jar-File nicht mehr geladen werden Java Basics - Anfänger-Themen 2
M Mutiple markers werden in Eclipse nicht mehr angezeigt Java Basics - Anfänger-Themen 2
T Compiler-Fehler Eclipse reagiert nicht mehr auf Änderungen im Code Java Basics - Anfänger-Themen 2
L Klassen Ich kann keine .jar Dateien mehr öffnen Java Basics - Anfänger-Themen 4
F Erste Schritte JCreator arbeitet nicht mehr als Eingabeaufforderung. Warum? Java Basics - Anfänger-Themen 5
C Versandmarkendruck bei der DP funktioniert nicht mehr Java Basics - Anfänger-Themen 3
P Laenge von mehr dimensionalen arrays Java Basics - Anfänger-Themen 2
F Warum werden nicht mehr Programme in Java geschrieben? Java Basics - Anfänger-Themen 27
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
T Programm läuft nicht mehr... Java Basics - Anfänger-Themen 3
H Beim Vergleich/Sortieren mehr als zwei Objekte berücksichtigen Java Basics - Anfänger-Themen 14
G Scrollbares Fenster bei mehr als 5 Objekten Java Basics - Anfänger-Themen 4
B Interface Nach "package"-Nennung keine Toolbar-Icons mehr Java Basics - Anfänger-Themen 5
I ComboBox mit Icons + Mehr...! Java Basics - Anfänger-Themen 6
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
F Spiel geht nicht mehr nach neuer Klasse Sound Java Basics - Anfänger-Themen 18
O Einlesen einer "config.ini" funktioniert plötzlich nicht mehr ! Java Basics - Anfänger-Themen 10
G Immer mehr Threads beim Selbstaufruf der main-Methode Java Basics - Anfänger-Themen 3
P Java Anwendung mit mehr RAM starten?? Java Basics - Anfänger-Themen 5
N Kann keine Java-Programme mehr schreiben Java Basics - Anfänger-Themen 10
H ObjectOutputStream - mehr als nur ein Objekt ausgeben Java Basics - Anfänger-Themen 2
I Datenbank - nach erster Verbindung keine Verbindung mehr Java Basics - Anfänger-Themen 3
L JPanel vergrößern bis JScrollPane nicht mehr zu sehen Java Basics - Anfänger-Themen 7
C DecimalFormat-Patern funktioniert ab 11 Stellen nicht mehr Java Basics - Anfänger-Themen 3
V Warten bis die Länge eines Strings nicht mehr 0 ist Java Basics - Anfänger-Themen 13
I Weiß einfach nicht mehr weiter... Java Basics - Anfänger-Themen 3
Das Brot Nach .add(JRadioButton) funktioniert der KeyListener nicht mehr Java Basics - Anfänger-Themen 2
Haave EAN-13-Prüfziffer: Vermeiden von Eingaben mit mehr/weniger als 12 Ziffern Java Basics - Anfänger-Themen 3
D brauch hillfe komm nicht mehr weiter... Java Basics - Anfänger-Themen 10
G methodenvorschläge bei Punktnotation kommen nicht mehr !! (Eclipse) Java Basics - Anfänger-Themen 5
B Objekt wird nicht mehr gezeichnet Java Basics - Anfänger-Themen 2
M MouseListener funktioniert in jar-file nicht mehr Java Basics - Anfänger-Themen 13
M TabbedPane: KeyListener funktioniert nicht mehr Java Basics - Anfänger-Themen 8
Q mehr Leistung durch Threads Java Basics - Anfänger-Themen 4
N mehr Dimensionalen Array beschreiben Java Basics - Anfänger-Themen 13
X Robot geht nicht mehr (Ubuntu 9.10) Java Basics - Anfänger-Themen 2
L Mehr als zwei Threads synchronisieren Java Basics - Anfänger-Themen 7
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
C Bild wird nicht mehr gefunden Java Basics - Anfänger-Themen 2
T repaint wir nicht mehr geöffnet! Java Basics - Anfänger-Themen 38
V Programm Lädt nicht mehr . Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben