Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Plain Text by asdsad ( 14 years ago )
/* Programm zur Erzeugung eines Char-Arrays mit druckbaren ASCII-Zeichen
 * welches dieses ausgibt, das Array mischt und einen eingegebenen String in
 * ein Char-Array unwandelt und dieses dann substituiert und anschließend
 * ausgibt
 * Christopher Reiter, Jan Kudik
 */
 
import java.util.Random;

public class Geheimtext {
  
  public static void main(String[] args) {
    
    // Array mit Char Werten von char(32) bis char (126) erzeugen und ausgeben
    char[] array1;
    array1 = druckZeichen();
    printCharArray(array1);
    System.out.println("________________________________");
    System.out.println();
    
    // Erzeugtes Array mischen und ausgeben
    array1 = mischen(array1);
    printCharArray(array1);
    System.out.println("________________________________");
    System.out.println();
    
    // String Eingeben, in Char-Array übergeben und substituieren und ausgeben
    System.out.println("Bitte Text eingeben:");
    String eingabe = TextIO.getlnString(); // einlesen des Eingabetextes
    char[] eingabe_array = eingabe.toCharArray(); // umwandeln String zu Char-Array
    char[] ausgabe_array = new char[eingabe_array.length];  // Ausgabe Array initialisieren
    ausgabe_array = substituieren(eingabe_array, array1, ausgabe_array);
    printCharArray(ausgabe_array);
  } // end of main
  
  // Methode zum erzeugen eines Arrays mit allen Druckbaren ASCII-Zeichen
  public static char[] druckZeichen(){
    char[] zeichenListe = new char[96];
    int azeichen = 0;
    for ( int i = 32; i < 127; i++ ) {
      char zeichen = ( char )(i);
      zeichenListe[i-31] = zeichen; 
    }
    return zeichenListe;
  } // end of druckZeichen
  
  // Methode zur Ausgabe eines übergebenen Char-Arrays
  public static void printCharArray(char[] zeichenListe1){
    for (int i = 0; i < zeichenListe1.length; i++ ) {
      if (!(i % 32 == 0)) {
        System.out.print(zeichenListe1[i]);
      } else {
        System.out.println(zeichenListe1[i]);
      }// end of if    
    } // end of for
    System.out.println();
  } // end of printCharArray
  
  // Methode zum mischen eines übergebenen Char-Arrays
  public static char[] mischen(char[] arrayMischen){
    char temp;
    for (int i = 0; i < arrayMischen.length; i++ ) {
      int rZahl = randomZahl();
      temp = arrayMischen[i];
      arrayMischen[i] = arrayMischen[rZahl];
      arrayMischen[rZahl] = temp;
    } // end of for
    
    return arrayMischen;
  } // end of mischen
  
  // Methode zur erzeugung einer Zufallszahl
  public static int randomZahl(){
    Random rand = new Random ();
    int zufall = rand.nextInt (96); // Zufallszahlen im Intervall [0,100)
    return zufall;
  }
  
  
  // Methode zum Substituieren eines Char-Arrays
  public static char[] substituieren(char[] eingabe_Array, char[] gemischt, char[] Ausgabe){
    for (int i = 0; i < eingabe_Array.length ; i++ ) {
      int index = (int) eingabe_Array[i] - 32;
      char zeichen_neu = gemischt[index];
      System.out.print(zeichen_neu);
    } // end of for
    
    return Ausgabe;
  }
} // end of class Geheimtext

 

Revise this Paste

Your Name: Code Language: