FU Berlin, Institut für Informatik

Java-Kurs  WS 2000/2001

Margarita Esponda

 

 

 

5. Übungsblatt

 

1.      Aufgabe

 

a)     Definiere eine Unterklasse IllegalTimeException , die die Klasse

      Exception erweitert.

 

 

b)   Programmiere eine Methode  readTime(), die aus dem Eingabeaufforderung-Fenster eine Zeiteingabe lesen kann. Verwende dabei deine neu definierte

      IllegalTimeException Klasse. Behandle andere IOExceptions,

      die auftreten könnten.

 

 

b)     Verändere deine Methode setTime() aus der Klasse „Time“, sodass   IllegalTimeException-Objekte erzeugt werden, wenn die übergebenen Parameter falsch sind.

 

 

 

2.  Aufgabe  ( eine weitere interessante Aufgabe aus den MIT-Set )

 

c)      Erzeuge ein Inhaltsverzeichnis mit dem Namen „u5“  auf

     der lokalen Platte ( D: ) und packe dort die Datei nodeNet.zip 

     (siehe unsere Internet-Seite) aus.

 

d)     Gehe in das Verzeichnis „u5\NodeNet\demo\test“ und  starte

das Programm „nodeNet.Main“.

 

e)     In dieser Aufgabe soll eine Klasse „MyNodeBehavior“ definiert werden, die folgende Schnittstelle implementiert:

 

 

public interface NodeBehavior {

 

     public void transmitPacket ( InputChannelVector inputChannels,

                                              OutputChannelVector outputChannels );

 

}

 

--------------

 

 

    Ein InputChanel ist etwas,  aus dem man Objekte lesen kann:

 

  public interface IutputChannel

  {

       public Object readObject() throws ChanelEmptyException,

                                                     ChannelDisabledException;

  } 

 

Ein OutputChanel ist etwas, auf dem man Objekte schreiben kann:

 

public interface OutputChannel

{

     public void writeObject( Object o ) throws ChanelFullException,

                                                     ChannelDisabledException;

} 

 

 

Eine InputChannelVector  ist eine Sammlung von InputChanel-Objekten und stellt folgende Methoden zu Verfügung.

 

        public final boolean isEmpty( );

        /* Returns true if the InputChannelVector is empty. */

 

        public int size( );

        /* Returns the size of the InputChannelVector. */

       

        public final InputChannel elementAt( int index );

        /* Returns the InputChannel at a certain index. */

        /* Note that numbering begins at 0 */

 

        public final InputChannel firstElement( );

        /* Returns the first InputChannel in the InputChannelVector. */

 

        public InputChannel lastElement( );

        /* Returns the last InputChannel in the InputChannelVector. */

 

 

Achte darauf, dass deine transmitPacket-Methode keine Information

verliert und dass die Information nicht mehrfach geschrieben wird.

 

f)       Es gibt eine Implementierung „DefaultNodeBehavior“ im Verzeichnis „nodeNet\demo\java\nodeNet“. Wenn du nicht weiterkommst, versuche zuerst, diese Implementierung zu verstehen, und  dann wirst Du sicherlich viele  Ideen für eine eigene Implementierung bekommen.