Übung für den 21.11.2011 - Listenprogrammierung in C++ und Einführung in Java
(EN google-translate)
(PL google-translate)
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 0-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.
|