Extra Aufgaben aus allen Bereichen

Java

Ein-/Ausgabe-Ströme

Typische verfügbare Methoden:

read() (lesen vom Datenstrom),
write() (schreiben in den Datenstrom),
close() (Datenstrom schliessen)

Betrachten Sie folgende Klassen:

Screen.java:

import java.io.PrintWriter;
import java.io.OutputStreamWriter;

public class Screen extends PrintWriter {

  public Screen() { 
      super(new OutputStreamWriter(System.out),true);
  }

}

KeyBoard.java:

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class KeyBoard extends BufferedReader {

  public KeyBoard() { 
      super(new InputStreamReader(System.in));
  } 

}

DateiEin.java:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;

public class DateiEin extends BufferedReader {

  public DateiEin(String name) throws FileNotFoundException { 
      super(new FileReader(name));
  } 

}

DateiAus.java:

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class DateiAus extends PrintWriter {

  public DateiAus(String name) throws IOException { 
      super(new FileWriter(name));
  } 

}

DateiDran.java:

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class DateiDran extends PrintWriter {

  public DateiDran(String name) throws IOException { 
      super(new FileWriter(name,true));
  } 

}
  1. Welche Methoden stellen diese Klassen zur Verfügung ?
    Sehen Sie dazu in der Java Dokumentation nach.

  2. Wie werden diese Klassen verwendet ?

  3. Entwickeln Sie die Unix Kommandos cat und (ein einfaches) grep in Java.

  4. Informieren Sie sich über die Klassen java.util.regex.Pattern java.util.regex.Matcher und entwickeln Sie ein Java-grep, das nach regulären Ausdrücken suchen kann.

Unix/Linux

  1. Informieren Sie sich mit man oder info üer die Kommandos cat und grep.

  2. Über Sie das Suchen von Zeichenketten mit grep.

  3. Informieren Sie sich über reguläre Ausdrücke (wie sie bei grep verwendet werden). Zum Beispiel mit man 7 regex.

einige reguläre Ausdrücke:

 CTATA
 CT.*TA
 CTA*TA
 CT.{3}TA
 CT.{3,}TA
 CT.{3,100}TA
 (CTA){3}
 [^ATCG]

Beispiel:

 echo "CTTaTA" | grep -i '[^ATCG]'
  1. Informieren Sie sich über rpm, den Red Hat Package Manager.

  2. Installieren Sie damit das Sun Java 2 SDK 1.4.

  3. Informieren Sie sich über die Unix Prozessverwaltung, also über die Kommandos ps, kill, bg, fg, &, CTRL-C, CTRL-Z, jobs.

  4. Informieren Sie sich über die Unix Netzwerkprogramme, zu mindest über die Kommandos ssh, scp, telnet, ftp, rlogin, rsh.

KDE und X-Windows

X-Windows vom MIT 1984 entwickelt

unter Linux wird meist XFree verwendet

KDE bietet Einheitliches Look & Feel, Hilfe, Sprachenunterstützung

Die Oberfläche
Anmeldung/Abmeldung, Desktop, Maus, einfach Klick, Cut+Paste, Hilfe, Steuerleiste (Panel), Taskleiste, mehrere Arbeitsflächen
 
Fenster
Bedienelemente: verschieben, vergrössern,
Menues: Fenster, Pin, Min, Max, Exit
Dateibrowser/manager: Menues, Werkzeugleiste, URL-Fenster, Navigation
Dateien: kopieren, verschieben, löschen, anlegen, Papierkorb
Tools: KDu, KDFree, KDirStat
 
Einrichten und Konfigurieren
Steuerleiste, KDE Control Center, Menues, Toolboxen, Schriften, Farben, Icons, Dateidialog
 
Anwendungen
KEdit, KCalc, KView, WordPerfect, StarOffice, SuSE Menue
 
X-Windows Anwendungen:
xterm, xosview, (x)emacs, mc, less

Web-Technologien

  1. Informieren Sie sich über das HTTP-Protokoll.

  2. Entwickeln Sie ein Java-Programm zum Herunterladen von Web-Seiten mit der unten angegebenen Klasse URLEin.

  3. Installieren und / oder Konfigurieren Sie einen Apache Web-Server.

  4. Schreiben Sie ein Shell-Script valid, mit dessen Hilfe Sie XML-Dateien bezüglich einer DTD auf Gültigkeit prüfen können.
    Installieren Sie dazu die Apache Xerces/Crimson Java-Software.

URLEin.java:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.URL;

public class URLEin extends BufferedReader {

    public URLEin(String url) throws IOException { 
      super(new InputStreamReader(
                (new URL(url)).openStream() ) );
  } 

}

valid:

#!/bin/sh
# echo "CLASSPATH:" $CLASSPATH 
VALIDPATH="/home/xxx/java/lib/xmlParserAPIs.jar:/home/xxx/java/lib/xercesImpl.jar:/home/xxx/java/lib/xercesSamples.jar"
export CLASSPATH="$VALIDPATH:$CLASSPATH"
# echo "CLASSPATH:" $CLASSPATH
#/usr/lib/jdk1.3/bin/java sax.Counter -v $* 
/usr/java/j2sdk1.4.0_01/bin/java sax.Counter -v $* 

© Universität Mannheim, Rechenzentrum, 1998-2002.

Heinz Kredel
Last modified: Sun Sep 15 15:58:04 MEST 2002