import javax.swing.*; import java.awt.*; } public void add(Object o) {elements.add(o);} } public void paintComponent(Graphics g) { int ypos = 10; for (int i=0; i<elements.size(); i++) { g.drawString(elements.elementAt(i).toString(), 10, ypos); ypos += 10; public ListDisplay () { elements = new java.util.Vector();} java.util.Vector elements; public class ListDisplay extends JPanel { } import javax.swing.JFrame; } } f.getContentPane().add(ld); f.setVisible(true); for (int i=0; i<10; i++) { ld.add(i + "-tes Element"); try {Thread.sleep(1000);} catch (InterruptedException e) {} f.repaint(); ListDisplay ld = new ListDisplay(); public static void main(String[] args) { JFrame f = new JFrame(); f.setSize(400,400); public class DisplayTest { } Artikel gibArtikel(); void fuegeHinzu(Artikel a); interface EinkaufslistenSchnittstelle { } } EinkaufslistenSchnittstelle e; e = new Einkaufsliste(); Artikel a = new Artikel(1); Artikel b = new Artikel(2); e.fuegeHinzu(a); e.fuegeHinzu(b); System.out.println(e.gibArtikel().nummer); System.out.println(e.gibArtikel()); public static void main(String[] args) { public class TestEinkauf { } public Artikel gibArtikel() { return (Artikel) sammlung.firstElement(); } } public void fuegeHinzu(Artikel a) { sammlung.addElement(a); private java.util.Vector sammlung = new java.util.Vector(); public class Einkaufsliste implements EinkaufslistenSchnittstelle { } } public static void main(String[] args) { //Gefangener g1 = new Gefangener(new NutzenMaxStrategie()); Gefangener g1 = new Gefangener(new TitForTatStrategie()); //Gefangener g2 = new Gefangener(new NutzenMaxStrategie()); Gefangener g2 = new Gefangener(new TitForTatStrategie()); boolean a1; boolean a2; for (int i=0; i<10; i++) { a1 = g1.macheAussage(); a2 = g2.macheAussage(); if (!a1 & !a2) {g1.bestrafe(1); g2.bestrafe(1);} else if (!a1) {g1.bestrafe(10); g2.bestrafe(0);} else if (!a2) {g1.bestrafe(0); g2.bestrafe(10);} else {g1.bestrafe(5); g2.bestrafe(5);} } System.out.println("g1-Strafe:" + g1.gesamtstrafe()); System.out.println("g2-Strafe:" + g2.gesamtstrafe()); class Gefaengnisdirektor { } int gesamtstrafe() {return strafmass;} } void bestrafe(int strafe) { strafmass += strafe; if (strafe >= 5) strategie.letzteAktion(false); else strategie.letzteAktion(true); boolean macheAussage() {return strategie.waehleAktion();} public Gefangener (SpielStrategie s) {strategie = s;} private int strafmass; private SpielStrategie strategie; public class Gefangener { } boolean waehleAktion(); void letzteAktion(boolean l); interface SpielStrategie { } public boolean waehleAktion() {return false;} public void letzteAktion(boolean l) {return;} public class NutzenMaxStrategie implements SpielStrategie { } public boolean waehleAktion() {return letzteGegnerwahl;} public void letzteAktion(boolean l) {letzteGegnerwahl = l;} class TitForTatStrategie implements SpielStrategie { boolean letzteGegnerwahl = true; } } private KeksPackung verpacke(Kekse k) { return new KeksPackung( "DeLuxeFirmaVerpackung", k); } private Kekse backe() { return new Kekse("Schokokeks"); } public KeksPackung produziere() { Kekse k = backe(); return verpacke(k); public class DeLuxeFabrikAlt { } } private KeksPackung verpacke(Kekse k) { return new KeksPackung( "BilligFirmaVerpackung", k); } private Kekse backe() { return new Kekse("Schokokeks"); } public KeksPackung produziere() { Kekse k = backe(); return verpacke(k); public class BilligFabrikAlt { } public abstract class KeksFabrik { public final KeksPackung produziere() { Kekse k = backe(); return verpacke(k); } private final Kekse backe() { return new Kekse("Schokokeks"); } public class BilligFabrik extends KeksFabrik { protected KeksPackung verpacke(Kekse k) { return new KeksPackung ("DeluxeFirmaVerpackung", k); } public class DeLuxeFabrik extends KeksFabrik { protected abstract KeksPackung verpacke(Kekse k); protected KeksPackung verpacke(Kekse k) { return new KeksPackung ("BilligFirmaVerpackung", k); } } } } } f = new BilligFabrik(); p = f.produziere(); System.out.println(p); public static void main(String[] args) { KeksFabrik f; KeksPackung p; f = new DeLuxeFabrik(); p = f.produziere(); System.out.println(p); public class Supermarkt { }