einführung in die programmierung – sammlungen folie 1 uwe lämmel einführung in die...

40
Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenscha ften www.wi.hs-wismar.de/ ~laemmel [email protected]

Upload: harman-wentzell

Post on 05-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 1Uwe Lämmel

Einführung in die ProgrammierungDatensammlung

Uwe Lämmel

Fakultät für Wirtschaftswissenschaften

www.wi.hs-wismar.de/~laemmel

[email protected]

Page 2: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 2Uwe Lämmel

Inhalt

Verwalten mehrerer Objekte:Sammlungen (Collections)– ArrayList– Array

Arbeiten mit Sammlungen:– Wiederholung (Iteration)– Iteratoren– Schleifen ( for–each, while–do,

for)

Page 3: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 3Uwe Lämmel

Sammlungen

Typische Aufgabe der Wirtschaftsinformatik: Verwalten mehrerer (beliebig vieler)

Objekte :– Personal– Termine– Aufträge– Rechnungen

Aktionen:– Elemente hinzufügen– Elemente entfernen– Element suchen

Page 4: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 4Uwe Lämmel

Beispiel: Notizbuch

Anforderungen / Erwartungen: Notizen speichern keine Begrenzung für die Anzahl Anzahl gespeicherter Notizen angeben Einzelne Notizen anzeigen Alle Notizen anzeigen

Machen Sie sich mit dem Notizbuch-Projekten vertraut!!

Page 5: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 5Uwe Lämmel

Klassen-Bibliotheken

nicht alles muss neu programmiert werden: es gibt nützliche, bereits "fertige" Klassen:

Java – API: Application Programming Interface

Bibliothek in Java: package java.util package

bietet Klassen für Objekt-Sammlungen Wir nutzen Klasse ArrayList

Machen Sie die Java – API für sich verfügbar!Schauen Sie sich die Klasse ArrayList an!

Page 6: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 6Uwe Lämmel

Klasse Notizbuch import java.util.ArrayList;

/** * ... */public class Notizbuch { // Speicher für beliebige Anzahl von Notizen

private ArrayList <String> notizen;  /** * Initialisierung für ein Notizbuch */ public Notizbuch( ) { notizen = new ArrayList<String>(); } // Konstruktor ...} // Notizbuch

erst ab Java 1.5

Page 7: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 7Uwe Lämmel

Klasse ArrayList

es wird definiert:– Typ der Sammlung: ArrayList– Typ der Elemente: <String>– Name der Sammlung: notizen

private ArrayList <String> notizen;

ArrayList<String> – "Array-Liste von Zeichenketten"

Page 8: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 8Uwe Lämmel

Objekt-Struktur

Was passiert beim Einfügen einer weiteren

Notiz?

Page 9: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 9Uwe Lämmel

Benutzen der Sammlung

class Notizbuch { private ArrayList <String> notizen; ... public void speichereNotiz(String notiz) { notizen.add(notiz); } // speichereNotiz  public int anzahlNotizen() { return notizen.size(); } // anzahlNotizen

...} // Notizbuch

Hinzufügen einer Notiz

Gibt Anzahl der Elemente in der ArrayList zurück

add, size : Methoden der Klasse ArrayList, siehe API

Page 10: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 10Uwe Lämmel

public void zeigeNotiz(int notiznummer){

if ( notiznummer >= 0 && notiznummer < anzahlNotizen() ) {

System.out.println(notizen.get(notiznummer));

} // if} // zeigeNotiz

Ermitteln einer Notiz

Gültigkeit des Index prüfen!

- vordefinierte Methode!- Parameter: Aufruf einer Methode!

Page 11: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 11Uwe Lämmel

Zusammenfassung

Elemente können hinzugefügt /entfernt werden

Jedes Element hat eine Nummer / Index: 0, 1 …

Wichtige Methoden der Klasse ArrayList sind:add, get, remove, size

ArrayList ist ein parametrisierter/generischer Datentyp

ArrayList-Objekte speichern beliebig viele Objekte

Java - API enthält packages mit vordefinierten Klassen:java.util.ArrayList, java.lang.String, java.lang.System

Page 12: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 12Uwe Lämmel

Wiederholung = Iteration

oft sind Aktionen mehrfach auszuführen:– z.B. Ausgabe aller Notizen des Notizbuchs

die meisten Programmiersprachen bieten: Schleifen–Anweisungen (loop statements)

mehrere Schleifen-Formen in Java.– beginnen mit for–each–Schleife.

Page 13: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 13Uwe Lämmel

for–each–Schleife

for ( ElementTyp element : Sammlung) { Schleifen-Körper} // for-each

Bedeutung:Für jedes element aus der Sammlung, führe die Anweisungen im Schleifen-Körper aus.

Schleifen-KopfSchlüsselwort for

Anweisungen, die wiederholt werden

Page 14: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 14Uwe Lämmel

for–each–Beispiel

/** * Gib alle Notizen eines Notizbuchs aus */public void notizenAusgeben() {

for(String notiz : notizen) { // Schleifen-Kopf

System.out.println(notiz); // Schleifen-Körper } // for} //notizenAusgeben

for each note in notes, print out note

Page 15: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 15Uwe Lämmel

while–Schleife

while(bedingung) { Schleifen-Körper}//while

Schleifenkopf: BedingungSchlüsselwort while

Anweisungen, die wiederholt werden

Bedeutung:Solange die bedingung wahr (true) ist, führe die Anweisungen im Schleifen-Körper aus.

Page 16: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 16Uwe Lämmel

while-Schleife: Beispiel

/** * Gib alle Notizen eines Notizbuchs aus */public void notizenAusgeben() {

int index = 0; while(index < notizen.size()) { System.out.println(notizen.get(index)); index++; } //while

}//notizenAusgeben

um 1 erhöhen

Bedeutung:while the value of index is less than the size of the collection, print the next note, and then increment index

Page 17: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 17Uwe Lämmel

while–Schleife

while (Bedingung) { Anweisungen }

– while-Schleife ist anfangsgesteuert:– Bedingung wird zuerst geprüft mind. einmal!

– wird benutzt, falls: – die Zahl der Durchläufe unbestimmt und– Test der Bedingung vor dem Bearbeiten des Körpers

erforderlich:– z.B. in Sammlungen: Gibt es überhaupt ein Element?

– Anweisungen im Schleifen–Körper müssen Bedingung beeinflussen, z.B. i++;

Page 18: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 18Uwe Lämmel

for–each versus while

for–each: einfacher aufzuschreiben sicher: stoppt garantiert! stets für alle Elemente der Sammlung

while: nicht notwendig,

die gesamte Sammlung zu bearbeiten kann auch ohne Sammlung benutzt werden Gefahr unendlicher Wiederholungen!

Page 19: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 19Uwe Lämmel

while – ohne eine Objektsammlung

– Gib alle geraden Zahlen zwischen 0 und 30 aus.

– Berechne alle Teiler einer Zahl.– Bestimme die Quersumme einer Zahl.– Bestimme den größten gemeinsamen

Teiler zweier Zahlen.– …

Page 20: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 20Uwe Lämmel

Suche in einer Sammlung von Objekten

int index = 0; // Nr. des aktuellen Elements boolean gefunden = false; // schon gefunden?

// index < Größe der Sammlung UND noch nicht gefundenwhile(index < notizen.size() && !gefunden) {

String notiz = notizen.get(index); // aktuelles Element

if(notiz.contains(suchString)) { // siehe API: lang.String gefunden = true; // gefunden: Zeichenkette ist enthalten } //if else { index++; // nächster Index=>nächstes Element } //else} //while// Entweder gefunden oder gesamte Sammlung durchsuchtif(!gefunden) index = –1; // index für nicht gefunden

/** * Kopf der Methode (Signatur) sucheText * @param suchString Zeichenkette nach der gesucht wird * @return Index der Notiz, die text enthält, oder –1 */public int sucheNotiz( String suchString ) { … return index;} // sucheNotiz

Page 21: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 21Uwe Lämmel

Schleife mittels Iterator-Objekt

Iterator<Elementtyp> it = meineSammlung.iterator();

while(it.hasNext()) {ElementTyp el = it.next(); // nächstes ElementAnweisungen "machen etwas" mit Element el

} //while

public void notizenAusgaben() { Iterator<String> it = notizen.iterator(); while ( it.hasNext() ) { String el = it.next(); System.out.println(el); } //while} //notizenAusgeben

Beispiel:

Page 22: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 22Uwe Lämmel

Schleifen und Objektsammlungen

for–each: – wenn alle Elemente bearbeitet werden

while–Schleife:– falls nur einige Elemente bearbeitet werden– wird durch Bedingung gesteuert – für Wiederholungen ohne Sammlungen

Iterator–Objekt:– falls nur einige Elemente zu bearbeiten– insbesondere für Sammlungen ohne Index– alle Sammlungen (collections) der API stellen

Iterator bereit Iteration / Schleife ist wichtiges

Programmier-Muster (pattern)

Page 23: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 23Uwe Lämmel

Array: Sammlungen fester Größe

häufig Obergröße für Objekt-Sammlungen bekannt Programmiersprachen bieten:

– spezielle Konstruktion: array– spezielle Schreibweise (Syntax):

typ[ ] bzw. element[index]

Arrays in Java speichern Objekte oder Werte einfacher Datentypen .

Page 24: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 24Uwe Lämmel

Array

Arrays sind Objekte: mit new-Methode erzeugen Elemente eines Array beliebig aber fest:

Attribut length gibt Anzahl der Elemente an:System.out.writeln(feld.length); // ausgegeben wird 6

Zugriff:

0 1 2 3 4 5

feste Anzahl von Elementen eines Typs

feld[0] = 17;feld[1] = 35;for(int i=0; i<feld.length; i++) feld[i]=2*i+1;

int[ ] feld = new int[6];

Page 25: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 25Uwe Lämmel

Array: Arbeitsweise

Deklaration: int[ ] folge;int zfolge; // Zeiger Füllstand

Erzeugung: folge = new int[100];

Initialisierung: for(int i=0;i<max;i++) folge[i]=0;

Zugriff nur zwischen 0…max Index möglich!– Lesen: a = folge[z];

System.out.println(folge[2]); for(int i=1; i<zfolge; i++) summe

+=folge[i];– Schreiben: folge[z] = b;

Page 26: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 26Uwe Lämmel

Weblog–Analyse

Auswertung der Zugriffe je Stunde vereinfacht

– Zugriffe = Eingabe der Stunde durch Nutzer:Eingabe 14 = ein Zugriff in 14:00 – 14:59

notwendig:– Sammlung für 24 Werte (int)– Methode zum Einlesen von Werten

Page 27: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 27Uwe Lämmel

Array zugriffeInStunde

Page 28: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 28Uwe Lämmel

Klasse Weblog

class Weblog {// Instanz-Variabeln

private int[ ] zugriffInStunde;private int maxSt;

public Weblog () {maxSt = 24;zugriffInStunde = new int[maxSt];for(int i=0; i<maxSt; i++) zugriffInStunde[i] = 0;

} //Weblog

public int getZugriffInStunde(int st) { return zugriffInStunde[st];}public int summeZugriffe(){ … }

} //Weblog

Page 29: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 29Uwe Lämmel

Methode Einlesen

public void liesZugriffe() {

wiederhole:

Sag Nutzer, dass Stunde einzugeben ist.

Lies Stunde ein.

Wenn gültige Stunde,

dann erhöhe Anzahl Zugriffe in der Stunde um eins.

bis Ende (Nutzer hat –1 eingegeben)

} //liesZugriffe

Page 30: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 30Uwe Lämmel

Ein–, Ausgabe: Klasse LineIO

Sammlung von Methoden für Ein-, Ausgabe:

– write, writeln für String, int, double, …io.writeln("zahl= "+z);

– formatierte Ausgabe:io.write(betrag,7,2);

– Eingabe für Sring, double, int, char:zahl = io.readInt("Bitte Zahl eingeben: ");

– KEIN Bestandteil der API!Datei LineIO.class muss im Verzeichnis stehen

Page 31: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 31Uwe Lämmel

Nutzung von LineIO

1. LineIO.java kopieren in BlueJ: Edit > Add class from file

2. E/A-Objekt in Methode erzeugen: LineIO io = new LineIO();

3. Methoden nutzen: st = io.readInt(" Zahl eingeben");– werden Eingaben programmiert, dann:

public void einlesen() throws Exception …

Schauen Sie sich LineIO.java an, welche Methoden es gibt!

Page 32: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 32Uwe Lämmel

Methode Einlesen

public void liesZugriffe() throws Exception {

IntIO io = new IntIO(); // Ein- Ausgabe-Objekt

int st = -1; // einzulesende Stunde io.writeln(" Weblog: Eingabe der Stunden. Ende mit –1 "); do { st=io.readInt("Zugriff in Stunde: "); if(st>=0 && st<=maxSt) { // Test auf gueltige Stunde zugriffInStunde[st]++; // Anzahl Zugriffe erhöhen } else if(st!= -1){ // falls keine Stunde (s.o.) und kein Ende io.writeln("Ungueltige Stundenangabe!"); } //if } while(st!=-1); // wiederhole solange nicht Ende } //liesZugriffe

Page 33: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 33Uwe Lämmel

Iteration: do–while–Schleife

do { Anweisungen } while (Bedingung);

do { zahl = io.readInt("Zahl: "); if (zahl >0) summe = summe +zahl;} while (zahl != -1);– endgesteuert

– eingesetzt, falls: – Zahl der Durchläufe unbestimmt ist, und– Körper mindestens einmal durchlaufen werden

muss.– typisch: Nutzerdialog

Interpretation:Führe die Anweisungen wiederholt aus, solange die Bedingung wahr ist.

Page 34: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 34Uwe Lämmel

Iteration: for–Schleife

for (Initialisierung; Bedingung; EndeAnweisung) { Anweisungen

} //for int fak = 1;for (int i=1;i<=zahl; i++) { fak = fak * i;} //for– anfangsgesteuert

– eingesetzt, falls:– Zahl der Schleifendurchläufe bekannt ist und – durch eine Zählvariable gezählt werden kann

Interpretation:Führe die Initialisierung aus, führe dann die Anweisungen des Körpers wiederholt aus, solange die Bedingung gilt. Nach jeder Ausführung des Schleifenkörpers wird die EndeAnweisung einmal ausgeführt.

Page 35: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 35Uwe Lämmel

Beispiel

for(int index = 0; index < zugriffeInStunden.length; index++) { io.writeln(index + ": " + zugriffeInStunden[index]);} //for

int index = 0;while(index < zugriffeInStunden.length) { io.writeln(index + ": " + zugriffeInStunden [index]); index++;} //while

Wirkung identisch!

Page 36: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 36Uwe Lämmel

Zusammenfassung Sammlung

Arraylist– Sammlung: Elemente (Objekte) mit Index 0,1,…– import java.util.Arraylist;– API enthält die Infos über Methoden– wichtige Methoden: add, delete, get, size

Arrays für Sammlungen mit fester Obergrenze– Sammlung: Elemente mit Index 0,1,… – Elemente sind Objekte oder einfache Datentypen – Arrays sind Objekte mit new erzeugen– haben spezielle Syntax: eckige Klammern [ ]

Page 37: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 37Uwe Lämmel

Zusammenfassung – Schleifen

while(!gefunden) { … }

do { … } while(!ende);

for(Notiz n:notizen) … //for-each

for(int i= 0,i<zfolge, i++) { folge[i] … }

// iterator:Iterator<Notiz> it = notizen.iterator();while (it.hasNext()) …

Page 38: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 38Uwe Lämmel

Aufgabe - Sieb des Eratosthenes

Zahl n einlesen Array mit Elementen von 0..n erzeugen;

– Alle Komponenten auf true setzen Mit 2 beginnen bis n: alle Vielfachen im

Array „streichen“, d.h. auf false setzen Ausgabe der Primzahlen zwischen 0..n

Programmieren Sie den Algorithmus in einer ausführbaren Klasse (main-Methode)

Page 39: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 39Uwe Lämmel

Aufgabe Studenten–Team

Felder/Array kann beliebigen Typ enthalten!

Student[ ] team;int zst;

team = new Student[anzahl];…team[zst] = new Student(name, matrikel);zst++;

Entwickeln Sie eine Klasse Team, in der ein Studenten–Team verwaltet werden kann. Benutzen Sie eine Klasse Student und verwalten Sie die Team-Mitglieder in einem Array! Die maximale Teamgröße wird beim Erzeugen eines Teams festgelegt.

0 1 2 3 4 5

Page 40: Einführung in die Programmierung – Sammlungen Folie 1 Uwe Lämmel Einführung in die Programmierung Datensammlung Uwe Lämmel Fakultät für Wirtschaftswissenschaften

Einführung in die Programmierung – Sammlungen

Folie 40Uwe Lämmel

Ende