Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Eclipsekurs 2006/Tag 2

< Eclipsekurs 2006
Version vom 8. Mai 2006, 18:39 Uhr von Ellen (Diskussion) (Aufgabe: Importieren von Vorgaben und Refactoring)

Aufgabe: Grundlagen

  • Für die Leute, die sich noch ein wenig mehr mit den Grundlagen der Programmiersprache Java üben möchten, haben wir hier viele kleine Aufgaben hinterlegt.
  • Wer die Grundlagen der Java-Programmierung versteht und keine (bzw. sehr wenig) Probleme mit der Rennschneckenaufgabe von der letzten Eclipse-Übung hatte, kann ruhig den Schwerpunkt dieser Übungseinheit stärker auf Eclipse legen und folgende Aufgaben angehen:

Aufgabe: Refactoring

  • Für diese und alle weiteren Aufgaben solltest du unter Eclipse -> Window -> Show View -> Others -> Basics -> Tasks öffnen.
      Dieses Fenster gibt dir einen Überblick über alle ToDo's und FixMe's in den Projekten.

!* Starte die Eclipse-Umgebung und importiere die Array.zip Datei als vorhandenes Projekt (Existing Project) .

      Führe die Main.java aus.
      Hinweis: Vorhandene Projekte in .zip Dateien können erst seit Eclipse 3.1.1 direkt importiert werden. 
   
  • Finde und korrigiere den Fehler in der toString() Methode der Klasse Array.
      Hinweis: Diese Aufgabe kann wahlweise mit oder ohne Debugger gelöst werden.
   
  • Gib der Methode fooBar() in der Klasse Array einen passenderen Namen.
  • Gib der Variable temp in der Klasse Array einen passenderen Namen.
  • Die von dir umbenannte Methode fooBar() und sumIsEven() enthalten beide die Berechnung der Summe aller Elemente des Feldes.
      Um zukünftige Änderungen zu vereinfachen, ist es sinnvoll aus mehrfach verwendetem Code eine einzelne Methode zu extrahieren.
      Benutze Refactoring um eine Methode zu erstellen, die die Summe berechnet.
      Hinweis: Schau dir die Vorschau an bevor du den OK Knopf drückst, um gegebenenfalls unerwünschte Ergebnisse zu vermeiden.
  • Bisher haben alle Felder die Länge 5, da es in der fillArray() Methode so festgelegt ist. Verändere die Klasse Array so, dass die dem Konstruktor übergebene
      Zahl die Länge festlegt. Hierzu musst du der Klasse eine neue Konstante hinzufügen, die im Programm anstelle der Zahl 5 genutzt werden soll.
      Benutze Refactoring um alle Vorkommen der Zahl 5 durch eine Konstante zu ersetzen.
      Hinweis: Achte auf den Hinweis von Eclipse zur Benennung von Konstanten und auf die Optionen.
      
  • In der Main.java werden 2 Objekte vom Typ Array erstellt und auf beiden werden die gleichen Berechnungen ausgeführt und ausgegeben.
      Benutze Refactoring um für die Füllung der Felder und die Ausgabe eine Methode zu extrahieren. Der Parameter der neuen Methode soll myArray heißen.
      

!* Wenn du alle ToDo's und FixMe's erledigt und aus dem Quellcode entfernt hast, exportiere das Projekt als .zip Datei und schicke es an ?@?.

      Tipp: Achte darauf, dass die Archivedatei das gesamte Projekt enthalten, damit es von jemandem importiert werden kann ohne, dass vorher extra ein 
      neues Projekt angelegt werden muss.

Aufgabe: Der Eclipse Debugger

!* Lade dir die Datei Calc.java runter. Erstelle ein Java-Projekt "Einstein" und importiere die Datei in das Projekt.

      Führe es aus.
  • Im Quellcode wurden zwei Stellen markiert, an denen du den aktuellen Wert einer Variable auslesen sollst. Dies lässt
      sich sehr einfach mit Hilfe von Breakpoints lösen.
      Hinweis: Der Quellcode darf zur Lösung der Aufgabe nicht verändert werden!
      
  • Setze einen Watchpoint auf die Variable b und beobachte wie sie sich im Laufe des Programms verändert.
  • Exportieren die das Programm als Jar-Datei. Damit die Datei später über die Konsole ausgeführt werden kann, gehst du wie folgt vor:
      - Der komplette Projektordner muss exportiert werden
      - Wähle einen Namen für die Datei und einen Ordner in deinem Home Verzeichnis als Exportziel.
      - Klicke zweimal auf "weiter" und wähle die Hauptklasse des Projekts aus.
      Um zu testen, ob du alles richtig gemacht hast, öffne eine Konsole, wechsel in den Ordner in dem die Jar-Datei liegt und führe den Befehl java -jar filename.jar aus.

Aufgabe: Importieren von Vorgaben und Refactoring

!* Erstelle ein Java-Projekt "Matrix" und importiere die Datei MatrixClass.zip als Archivedatei in das Projekt.

      Um zu sehen, dass die .class Dateien zum Ausführen eines Programms reichen, starte das Projekt wie gehabt.
      Tipp: Wechsel zur Navigator-Ansicht, um die importierten .class Dateien zu sehen.
      Hinweis: Die Hauptklasse des Projekts ist MatrixTest.
      

!* Um Änderungen am Quellcode vornehmen zu können, brauchst du noch die .java Dateien. Importiere hierzu die Datei MatrixJava.zip in dein Projekt.

      Benenne  die Klassenvariable giveMeAName um.
  • Benutze Refactoring um die Felder n und m der Klasse Matrix zu kapseln. Wähle für n mit und für m ohne "Feldverweise beibehalten" aus
      und schaue dir in der Vorschau den Unterschied an.
      Warum ist in diesem Fall besser n und m auf private zu setzen? Ist es hier sinnvoll für n und m getter- und/oder setter-Methoden bereit zu stellen?
   
  • Gib den Methoden multipliesMatrixWithScalar() und multipliesMatrixWithMatrix() den gleichen Methodennamen.
      Der neue Name sollte sinvoll gewählt werden, aber dennoch nicht eine halbe Zeile lang sein.
      Warum kann man in diesem Fall beiden Methoden den gleichen Namen geben?
      Tipp: Bei multipliesMatrixWithMatrix() und add() wäre dies nicht möglich.
      

!* Exportieren die beiden bearbeiteten Java Dateien als Archivedatei und schicke sie an ?@?.

Aufgabe: Eclipse Plug-Ins

  • Installiere das Plug-In für das deutsche Sprachpaket und starte Eclipse neu.

! (Je nachdem wie genau in der VL auf das Thema eingegeangen wird, muss die Aufgabenstellung gegebenfalls mit ein paar Tipps bzw. einer kompletten Anleitung versehen werden)


Viel Spaß!


... ältere Notizen ...

  • Ein Programm, das zu Beginn importiert, dann debuggt und wieder exportiert werden muss.
  • Benutzung von Breakpoints und den Funktionen "Step next" sowie "Step into"
  • Anzeigen von Variabeln im Debugger
  • Import / Export
    • Import von .class-Dateien
    • Import von .java-Dateien
    • Export als .zip-Datei
    • Export als Ordnerstruktur (nur die .java-dateien)

Hier liegt ein kleines Programm zum Importieren und Spielen im Debugger.