kramann.info
© Guido Kramann

Login: Passwort:










9.1 Übung für den 21.11.2011 - Listenprogrammierung in C++ und Einführung in Java

Listenprogrammierung in C++

  • In der Vorlesung am 17.11. wurde die Methode append(..) der Klasse ListenContainer implementiert.
  • Laden Sie das Beispiel von der Startseite herunter (Material vom 10.11. UND 17.11.) und testen und analysieren es noch einmal.
  • Implementieren Sie dann die restlichen im UML-Diagramm in Kapitel 8.1.1 aufgeführten Methoden dieser Klasse.
  • Schreiben Sie zu jeder Implementierung immer gleich ein Testprogramm, um zu überprüfen, ob die Implementierung auch funktioniert (main-Methode).
  • Fragen Sie nach, wenn Ihnen die Bedeutung einer der Methoden nicht klar sein sollte.

Einführung in Java

  • In der Vorlesung am 17.11. wurden erste Java-Beispiele codiert.
  • Laden Sie die Beispiele von der Startseite herunter und testen und analysieren es noch einmal.
  • Hinweise:
  • Kompilieren einer Java-Quelltextdatei "MeineKlasse.java": javac MeineKlasse.java
  • Ausführen der nach dem Kompilieren entstandenen .cass-Datei: java MeineKlasse
  • Schreiben Sie nun das C++ - Programm "Code 3.3-2" aus Kapitel 3.3 (Übung) in Java um und bringen es zum Laufen.
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Knopflauscher implements ActionListener
{
    public JTextField eingabe1;    
    public JLabel     operator;
    public JTextField eingabe2;    
    public JButton    knopf;    
    public JLabel     ausgabe;

    public Knopflauscher()
    {
        eingabe1 = new JTextField("1");
        operator = new JLabel("+");
        eingabe2 = new JTextField("2");
        knopf    = new JButton("=");

        knopf.addActionListener(this);

        ausgabe  = new JLabel("");

        JFrame fenster = new JFrame("Summierer");
        fenster.setVisible(false);
        fenster.getContentPane().setLayout(new GridLayout(1,5));
        fenster.setBounds(10,10,250,60);
        fenster.getContentPane().add(eingabe1);
        fenster.getContentPane().add(operator);
        fenster.getContentPane().add(eingabe2);
        fenster.getContentPane().add(knopf);
        fenster.getContentPane().add(ausgabe);
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.pack();
        fenster.setVisible(true);
    }

    public void actionPerformed(ActionEvent e)
    {
        double x = Double.parseDouble(eingabe1.getText());    
        double y = Double.parseDouble(eingabe2.getText());    
        double z = x+y;
        ausgabe.setText(z+"");
    }        
    public static void main(String[] args)
    {
        Knopflauscher knopflauscher = new Knopflauscher();
    }
}

Code 9.1-1: Kleines GUI-Programm.

  • Obiges Programm erlaubt es Zahlen über eine Grafische Benutzeroberfläche einzueben und sie per Knopfdruck zu addieren.
  • Schlagen Sie in der Java-API alle auftretenden Bibliotheksklassen nach und versuchen dadurch zu verstehen, was deren Methoden bewirken.
  • Analysieren Sie das Programm weiter und versuchen Sie zu verstehen, was die einzelnen Befehle bewirken.
  • Nehmen Sie dazu testweise einzelne Befehle heraus, oder wandeln sie ab.
  • Diskutieren Sie Ihre Analyse mit Ihren Nachbarn.
  • Versuchen Sie nun folgende Programmvarianten umzusetzen:
  • Ein Programm, das zwei Zahlen miteinander multipliziert.
  • Ein Programm, dass drei Zahlen miteinander multipliziert.