Aufgaben zur Vorlesung

Aufgabe 1:

Schreiben Sie das obige Programm mit einen Texteditor ihrer Wahl. Speichern Sie es als Hallo.java ab. Übersetzen Sie es mit dem Java-Übersetzer javac. Es entsteht eine Datei hallo.class. Führen Sie das Programm mit dem Javainterpreter java aus.

Aufgabe 2:

Übersetzen Sie das Programm Minimal aus dem letzem Abschnitt und versuchen Sie dieses Programm laufen zu lassen. Was für eine Fehlermeldung bekommen Sie?

Aufgabe 3:

Testen Sie, was passiert, wenn Sie im obigen Programm die Methode druckeDoppelt ohne konkreten Wert für den Parameter aufrufen.

Aufgabe 4:

Schreiben Sie eine zusätzliche Methode in obiger Klasse. Die Methode soll zwei Zahlen x und y als Parameter haben und als Ergebnis $2*x+4*y$ berechnen.

Aufgabe 5:

Schreiben Sie eine Methode, die für eine ganze Zahl die Fakultät dieser Zahl berechnet. Testen Sie die Methode zunächst mit kleinen Zahlen, anschließend mit großen Zahlen. Was stellen Sie fest.

Aufgabe 6:

Schreiben Sie ein XML Dokument, daß nach den Regeln der obigen DTD gebildet wird.

Aufgabe 7:

Schreiben Sie eine Klasse Person1, die eine Person modelliert. eine Person soll einen Namen, einen Vornamen, eine Straße, eine Hausnummer, eine Postleitzahl und einen Ort als Daten enthalten.

Aufgabe 8:

Schreiben Sie eine Klasse Person2, die zusätzlich zu den Feldern aus ihrer Klasse Person1 noch einen Konstruktor enthält, der die Felder der Klasse mit als Argumente übergebenen Daten füllt.

Aufgabe 9:

Erzeugen Sie in einer Testklasse zwei Objekte des Typs Person2.

Aufgabe 10:

Schreiben Sie ein kleines Testprogramm, daß Ihre Klasse Person2 benutzt. Erzeugen Sie zwei Objekte des Typs Person2. Geben Sie einige der Daten dieser Objekte auf dem Bildschirm aus. Ändern Sie dann die Adresse einer der Personen und geben Sie die neuen Daten dieser Person auf dem Bildschirm aus.

Aufgabe 11:

Schreiben Sie eine Klasse Person, indem Sie Ihre Klasse Person2 um zwei Methoden erweitern.

Aufgabe 12:

Schreiben Sie eine Testklasse für Ihre Klasse Person, so daß Sie die Methoden der Klasse Person alle einmal aufgerufen haben.

Aufgabe 13:

Schreiben Sie ein kleines Testprogramm, das Objekte des Typs Buchausleihe erzeugt und Methoden darauf anwendet.

Aufgabe 14:

Suchen Sie sich aus der Javadokumentation zur Klasse String weitere Methoden heraus und schreiben Sie ein Testprogramm, daß diese Methoden ausprobiert.

Aufgabe 15:

Schreiben Sie eine Klasse Student, die die Klasse Person um ein weiteres Feld matrikelNr erweitert.

Aufgabe 16:

Schreiben Sie eine Testklasse, in der Objekte des Typs Student getestet werden.


Beispielaufgaben:

Aufgabe 1:

Die folgenden Dokumente sind kein wohlgeformetes XML. Begründen Sie, wo der Fehler liegt, und wie dieser Fehler behoben werden kann.
a)
<a>to be <b> or not to be </a>

b)
<a> x + 1 > x </a>

c)
<a><dick>The world<kursiv> is</dick>
 my </kursiv> oyster.</a>

Aufgabe 2:

Was geben die folgenden Javaprogramme auf dem Bildschirm aus, wenn sie ausgeführt werden:
a)
class Aufgabe2a{
  static int q(int x){
    int result = x*x;
    result = result*result;
    return result;
  }

  static public void main(String[] args){
    System.out.println(q(2));
    System.out.println(q(3));
  }
}

a)
class Aufgabe2b {
  static void m1(String s){
    for (int i =1; i<4;i=i+1){
      System.out.println(s);
    }
  }

  public static void main(String [] args){
    m1("hallo");
    m1("Illja");
  }
}

Aufgabe 3:

Schreiben Sie das folgende Programm so um, daß es statt einer for-Schleife eine while-Schleife benutzt.
class Aufgabe3 {

  static public int hochN(int i, int exp){
    int result = 1;

    for (int j=0; j < exp;j=j+1){
      result = result*i;
    }

    return result;
  }

}

Aufgabe 4:

Ergänzen Sie das untere Programm, indem Sie den fehlenden Programmtext der Methode m gemäß der im Kommentar gegebenen Spezifikation einfügen.
class Aufgabe4 {
  static int m(int x){
     //m berechnet das vierfache des Eigabeparameters x.
  }

}

Aufgabe 5:

Gegeben sind das folgende XML-Dokument:
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="person.xsl"?>
<person>
  <name>Shakespeare</name>
  <vorname>William</vorname>
</person>
und das darin referenzierte XSL Stylesheet person.xsl:
<xsl:stylesheet version="1.0"
             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
     <html><head><title>Person</title></head>
       <body><xsl:apply-templates/></body>
     </html>
  </xsl:template>

  <xsl:template match="name">
     <b><xsl:apply-templates/></b><br/>
  </xsl:template>

  <xsl:template match="vorname">
     <em><xsl:apply-templates/></em>
  </xsl:template>
</xsl:stylesheet>
Wie sieht der durch den XSLT-Prozessor aus diesen zwei Dateien generierte HTML-Code aus.

Aufgabe 6:

Sie sollen ein Javaapplet schreiben, das auf einer Webseite eingebunden ist. Immer, wenn jemand die Seite von der Website auf seinem lokalen Rechner betrachtet, soll das Applet auf dem lokalen Rechner eine Datei anlegen, in der Datum und Uhrzeit für die Aktivierung des Applets geschrieben wird.

Warum können Sie ein solches Applet nicht realisieren?