next up previous contents
Nächste Seite: AWT - Applikationen Aufwärts: Objektorientierte Programmierung (OOP) Vorherige Seite: Objekte und Methoden verwenden   Inhalt

Eine Beispielklasse (krypto.java)

Die im vorangegangenen Abschnitt verwendeten Methoden werden nun im folgenden Beispiel codiert:

import java.io.*;

public class krypto {

    krypto() {
    }
    
    public static void main (String args[]) {
    }


    public static BufferedReader ropen(String dateiname) throws Exception {
        File f = new File(dateiname);
        BufferedReader ein = null;
        try {
            FileReader fr = new FileReader(f);
            ein = new BufferedReader(fr);
        }
        catch (FileNotFoundException e) {
            System.out.println("Datei nicht da");
        }
        return ein;
    }
    
    public static String zeilelesen(BufferedReader br) throws Exception {
        String zeile = "";
        try {
            zeile = br.readLine();
        }
        catch (Exception e) {
            System.out.println(e.toString());
        }
        return zeile;
    }

    public static void ausgeben(BufferedReader br) throws Exception {
        try {
            String zeile = br.readLine();
            while (zeile != null) {
                System.out.println(zeile);
                zeile = br.readLine();
            }
        }
        catch (Exception e) {
            System.out.println(e.toString());
        }
    }

    public static DataOutputStream wopen(String dateiname) throws Exception {
        File f = new File(dateiname);
        FileOutputStream daten = new FileOutputStream(f);
        DataOutputStream datenraus = null;
        
        try {
            datenraus = new DataOutputStream(daten);
        }
        catch (Exception e) {
            System.out.println("Datei nicht da");
        }
        return datenraus;
    }

    public static void zeileschreiben (DataOutputStream dos, String zeile) throws Exception {
        try {
            dos.writeBytes(zeile+"\n");
        }
        catch (Exception e) {
            System.out.println(e.toString());
        }
    }

    public static String encaesar(String zeile, int stellen) {
        byte geheim[] = new byte[zeile.length()];
        String geheimzeile = "";

        geheim = zeile.getBytes();
        for (int i=0; i<geheim.length; i++) {
            if (geheim[i]>90) geheim[i]-=32;
            geheim[i]+= (byte) stellen;
            if (geheim[i]>90) geheim[i]-=26;
            geheimzeile+=(char) geheim[i];
        }
        return geheimzeile;
    }

    public static String decaesar(String zeile, int stellen) {
        byte klar [] = new byte[zeile.length()];
        String klarzeile = "";
        
        klar = zeile.getBytes();
        for (int i=0; i<klar.length;i++) {
            klar[i]-= (byte) stellen;
            if (klar[i]<65) klar[i]+=26;
            klarzeile+=(char) klar[i];
        }
        return klarzeile;
    }
}


Erweitere das obige Beispiel um Methoden, die die Eingabe von der Standard-Eingabe und die Ausgabe auf die Standard-Ausgabe ermöglichen!


Erweitere das obige Beispiel um Methoden, die die Verschlüsselung mit dem Substitutions- und dem Vigenère Verfahren erlauben!


Alfred Nussbaumer 2003-02-10