statische Methoden

Werbung
Fakultät für
Wirtschaftswissenschaften
Einführung in die Programmierung
Ausführbare Klassen
Uwe Lämmel
www.wi.hs-wismar.de/~laemmel
[email protected]
Uwe Lämmel
Algorithmen
Folie 1
Inhalt
 Arten von Klassen
 ausführbare Klassen
– main-Methode
– statische Methoden
 Bibliotheksklassen
Uwe Lämmel
Algorithmen
Folie 2
Klasse
Klasse
Bauplan
ausführbare
Bauplan beschreibt Objekte:
 Merkmale
 Konstruktoren
 Zugriffsmethoden
 weitere Methoden
 keine Ausführung
 Objekte werden in anderen
Klassen erzeugt
 Methode an Objekt
gesendet: stud1.getName();
Uwe Lämmel
Bibliothek
 nur Ausführung in
main-Methode
 keine Objekte der Klasse
 kann in Kommandozeile
aktiviert werden:
C:\temp>java MyProg
 statische Methoden möglich:
public static void ausgabe()…
Algorithmen
Folie 3
Beispiel: Zahleneingabe und Berechnung 1
/**
* Ausführbare Klasse: Einlesen von Zahlen
*
*/
class ZahlenEingabe {
public static void main(String[] args) throws Exception{
LineIO io
= new LineIO();
int maxAnzahl = 100;
int[] zahlen
= new int[maxAnzahl];
int anzahl
= 0;
int zahl;
int endeZahl = -1;
// Einlesen der Zahlen folgt hier…
Uwe Lämmel
Algorithmen
Folie 4
Beispiel: Zahleneingabe und Berechnung
2
//Einlesen von Zahlen
do {
zahl = io.readInt(" Bitte Zahl eingeben [-1 für Ende]: ");
// Wenn Zahl nicht Ende und noch Platz im Array
if(zahl != endeZahl && anzahl < maxAnzahl){ //in Array eintragen
zahlen[anzahl] = zahl;
anzahl++;
}
while(zahl != endeZahl);
//Anzahl bestimmen?
io.writeln("Es wurden "+anzahl+" Zahlen eingelesen.");
//Ausgeben
for(int i=0 ; i<anzahl ; i++) io.write(zahlen[i],4);
io.writeln();
…
Uwe Lämmel
Algorithmen
Folie 5
Erweiterung: statische Methoden
class ZahlenBearbeiten {
public static int [] zahlenEingeben() { … }
public static int summe( int[] folge, int anz) { … }
public static void ausgabe( int[] folge, int anz) { …}
public static void main(String[] args) throws Exception{ … }
} // ZahlenBearbeiten
Uwe Lämmel
Algorithmen
Folie 6
Ausführbare Klasse
 KEINE Objekte:
– keine Merkmale, Konstruktoren, Zugriffsmethoden
 main-Methode (ist immer static !)
 eventuell:
– weitere statische Methoden
– statische Variabel
Uwe Lämmel
Algorithmen
Folie 7
Bibliotheksklasse
 KEINE Objekte:
– keine Merkmale, Konstruktoren,
Zugriffsmethoden
 KEINE main-Methode
 Sammlung von statischen Methoden
(z.B. java.lang.Math)
 Beispiel: mathematische Funktionen,
Sortierfunktionen, …
Uwe Lämmel
Algorithmen
Folie 8
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
Uwe Lämmel
Algorithmen
Folie 9
Zeichenketten und statische Methoden
 Suche nach einem Zeichen
 Ermittlung der Häufigkeiten von Zeichen
Uwe Lämmel
Algorithmen
Folie 10
Ende
Uwe Lämmel
Algorithmen
Folie 11
Herunterladen