Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

www.munz-udo.de1 JAVA und OOP Teil 2: Objektorientierung.

Ähnliche Präsentationen


Präsentation zum Thema: "www.munz-udo.de1 JAVA und OOP Teil 2: Objektorientierung."—  Präsentation transkript:

1

2 www.munz-udo.de1 JAVA und OOP Teil 2: Objektorientierung

3 www.munz-udo.de2 Objektorientierung Daten und Methoden bilden eine Einheit Daten können nur mit festgelegten Methoden geändert werden Methoden können nicht auf fremde Daten angewandt werden.

4 www.munz-udo.de3 Ziele der Objektorientierung Höhere Datensicherheit (durch Kapselung) Erleichterte Pflege des Quellcodes (durch Kapselung) Höhere Produktivität (durch Vererbung) Verbesserte Zugangskontrolle im Quellcode (durch Getter- und Setter Methoden)

5 www.munz-udo.de4 Klassen Eine Klasse stellt den Bauplan für verschiedene aber gleichartige Dinge (Objekte) dar. In der Klasse werden die möglichen Eigenschaften der Objekte und ihre Verhaltensweisen in Form von Methoden festgelegt.

6 www.munz-udo.de5 Objekte Ein Objekt gehört grundsätzlich zu einer Klasse Es gibt jedoch auch sogenannte abstrakte Klassen ( abstract classes ), die über keinerlei Objekte verfügen.

7 www.munz-udo.de6 Instanzen Konkretisierung eines Objekts: Instanzen benötigen -realen Speicherplatz mit -realen Werten.

8 www.munz-udo.de7 Das Programm fahrkarte Das Programm f ahrkarte simuliert eine Fahrkarte für den öffentlichen Nahverkehr.

9 www.munz-udo.de8 Eigenschaften einer Fahrkarte Anzahl der Tarifzonen Datum Reduzierter Preis? Fahrpreis

10 www.munz-udo.de9 Vorgänge im Fahrkartenautomaten (Methoden)  Karte drucken  Fahrpreis berechnen (von der Fahrstrecke abhängen )  Karten zu ermäßigtem Preis?  Vierfachnetzkarte  Zählwerk

11 www.munz-udo.de10 Kapselung (encapsulation) Prinzip  Möglichst alle Variablen sind intern vereinbart (private).  Zugang nur über Getter- und Setter- Methoden

12 www.munz-udo.de11 Kapselung (encapsulation) Vorteile  Sicherheit gegen Änderungen von außen  Sicherheit bei Veränderungen im Innern  Vereinfachte Nutzung  Verringerte Dokumentationslast  Zugangsberechtigungen

13 www.munz-udo.de12 Klassenkonstanten (class constants) Die Konstante dPreisProZone wird der Klasse fahrkarte selbst zugeordnet, es handelt sich somit um eine Klassenkonstante.

14 www.munz-udo.de13 Attribute von dPreisProZone final Inhalt kann nicht geändert werden static Klassenkonstante double Inhaltstyp (Kommazahl). final static double dPreisProZone=1.3; final static double dPreisProZoneReduziert=0.6;

15 www.munz-udo.de14 Klassenvariable (class fields) Beispiel: Die Gesamtzahl aller in unserem Automaten erstellten Fahrkarten. o Inhalt kann nicht in einer Konstanten gespeichert werden, da sich der Wert laufend ändert. o Es macht wenig Sinn, diese Information einer einzelnen Fahrkarte zuzuordnen. o Folgerung: Klassenvariable static int iVerkaufteKarten=0;

16 www.munz-udo.de15 Kontrollfragen 1) Unterscheiden Sie Klasse und Instanz auf der Grundlage der Programmiersprache JAVA ™ 2) Welche Eigenschaften ( properties ) einer Fahrkarte sollten Ihrer Meinung nach als Klassenkonstanten, Instanzvariablen oder als Klassenvariablen deklariert werden? Begründen Sie Ihre Antwort! 3) Beschreiben Sie das Konzept der Kapselung. 4) Nennen Sie Vorteile der Kapselung

17 www.munz-udo.de16 Vererbung Neue Definition: Klasse dauerkarte als Erweiterung von fahrkarte – Methoden und Eigenschaften, die dauerkarte von fahrkarte übernimmt, nennt man vererbte Methoden ( inherited ). – fahrkarte ist Superklasse ( superclass ) zu dauerkarte. – dauerkarte ist von fahrkarte abgeleitet. – Jeder Dauerkarte besitzt alle Eigenschaften und Methoden einer normalen Fahrkarte ! package eins.munz.fahrkarte; public class dauerkarte extends fahrkarte

18 www.munz-udo.de17 Erweiterungen zu Fahrkarten 1. Erweitern Sie die Ausgabemethode für die Dauerkarten so, dass die Inhabernamen mit ausgedruckt werden. 2. Ändern Sie das Konzept „Kartenzahl“ so ab, dass nach Erreichen eines Schwellenwertes beim Ausdrucken einer Fahrkarte ein entsprechender Hinweis erscheint.

19 www.munz-udo.de18 Verwandte Aufgaben Realisieren Sie die folgenden Ideen in Ihrem Programm. a) Wenn man gleichzeitig Hin- und Rückfahrt bucht, reduziert sich der Gesamtpreis. b) Wie wär’s mit einer Rabattstaffel für Großkunden? c) Wer ein Fahrrad oder einen Hund im Bus befördern möchte, braucht eine besondere Fahrkarte. d) Sonntags fahren alle (auch Hunde) zum reduzierten Preis!

20 www.munz-udo.de19 Weitere Klassendefinitionen Formulieren Sie schriftlich in Umgangssprache (also ohne JAVA) eine mögliche Klassendefinition (mit Eigenschaften und Methoden) für folgende Alltagsgegenstände: – Getränkedosen – Autos – Computermaus – Bücher in einem Ausleihesystem – Abiturnoten eines Schülers bzw. einer Schülerin

21 www.munz-udo.de20 Standardkreis  Eigenschaften  Mittelpunktskoordinaten  Radius  Methoden  Flächeninhalt berechnen  Umfang berechnen  feststellen, ob er sich mit einem anderen Kreis schneidet. M(mx,my) P(px,py)

22 www.munz-udo.de21 kreis2.java public class kreis2 { public int iMitteX,iMitteY, iRadius; public double dUmfang, dInhalt; public static double PI() {return Math.atan(1)*4;} public void dRechneUmfang() {dUmfang=2*PI()*iRadius;} public void dRechneInhalt() {dInhalt=PI()*iRadius+iRadius;} public int iAnzahlSchnittpunkte(kreis2 k) { }

23 www.munz-udo.de22 Konstruktor zu kreis2.java /** Creates new kreis2 constructor*/ public kreis2(int iMitteX,int iMitteY, int iRadius) { this.iMitteX=iMitteX; this.iMitteY=iMitteY; this.iRadius=iRadius; dRechneUmfang(); dRechneInhalt(); }

24 www.munz-udo.de23 kreis3.java public class kreis3 { private int iMitteX,iMitteY, iRadius; private double dUmfang, dInhalt; private void dRechneUmfang() { dUmfang=2*Math.PI*iRadius; } private void dRechneInhalt() { Inhalt=Math.PI*iRadius +iRadius;} }

25 www.munz-udo.de24 Setter public void setRadius(int iRadius) { this.iRadius=iRadius; dRechneUmfang(); dRechneInhalt(); }

26 www.munz-udo.de25 Ausgabe public void ausgabe() { System.out.println("Radius: "+iRadius); System.out.println("Umfang: "+dUmfang); System.out.println("Flächeninhalt: "+dInhalt); }

27 www.munz-udo.de26 Objekte vergleichen public boolean equals(kreis3 k2) { return (this.iRadius==k2.iRadius) &&(this.iMitteX==k2.iMitteX) &&(this.iMitteY==k2.iMitteY); }

28 www.munz-udo.de27 Schule Schule NameSchulklassen........................... Versetzung durchführen neue Schulklasse erzeugen

29 www.munz-udo.de28 Schulklasse Schulklasse NameSchüler Gewichtung schriftlich-mündlich Klassenlehrer Schnitt aller Gesamtnoten............................................ Schnitt berechnen neuen Schüler erzeugen

30 www.munz-udo.de29 Schüler SchülerName Durchschnittsnote schriftliche Note mündliche Note bestanden..................................... Noten eingeben Notenschnitt berechnen feststellen, ob bestanden

31 www.munz-udo.de30 Attribute public: – Die Variable oder Methode ist in der Klasse selbst, in an- geleiteten Klassen und in übergeordneten Klassen, die unsere Klasse aufrufen, sichtbar (liberale Variante). private: – Die Variable oder Methode ist nur in der Klasse sichtbar. in der sie vereinbart wurde (sichere Variante). Untergeordnete (abgeleitete) oder übergeordnete (aufrufende) Klassen sehen diese Variable nicht. protected: – Variablen mit diesem Attribut sind in der eigenen Klasse und in abgeleiteten Klassen sichtbar. Aufrufer sehen diese Variablen nur, wenn sie im gleichen Paket aufrufen.

32 www.munz-udo.de31 Überladung Zwei Prozeduren mit gleichem Namen, die sich aufgrund der Anzahl bzw. Typen der Parameter unterscheiden.

33 www.munz-udo.de32 Überladung (Beispiel) public schulemain(String name) { this.sName=name; System.out.println(sName); } schulemain gymLoerrach = new schulemain("Gymnasium Loerrach"); ----------------------------------------------------------------------- //zweiter Konstruktor / überladen public schulemain() { this.sName="Die arme Schule hat keinen Namen."; System.out.println(sName); } schulemain gymLoerrach = new schulemain();

34 www.munz-udo.de33 Die Klasse schulklasse public class schulklasse { public String sName; private String sLehrer; private double dGewichtung; /** Creates new schulklasse */ public schulklasse(String name, String lName, double gewichtung) { this.sName=name; this.sLehrer=lName; this.dGewichtung=gewichtung; System.out.println (this.sName+" "+this.sLehrer+" "+ this.dGewichtung); }}

35 www.munz-udo.de34 Aufrufe von schulklasse schulklasse klasse1=new schulklasse("11a", „Munz",1.5); schulklasse klasse2=new schulklasse("12a", "Henne",2);

36 www.munz-udo.de35 Die Klasse schueler public class schueler { public String sName; private double dDurchschnitt; protected boolean bHatBestanden; private int iMuendlich; private int iSchriftlich; public void ausgabe(String Klassenname) {System.out.print(Klassenname+" "); System.out.print(this.sName+" "); System.out.print(this.dDurchschnitt+" "); System.out.println(this.bHatBestanden); }

37 www.munz-udo.de36 Setter und Konstruktor public void SetSchuelerdaten(String name, double schnitt,boolean hatBestanden, int muendlich, int schriftlich) { this.sName=name; this.dDurchschnitt=schnitt; this.bHatBestanden=hatBestanden; } /** Creates new schueler */ public schueler(String name) { SetSchuelerdaten(name,0,false,0,0); ausgabe("test"); } }

38 www.munz-udo.de37 Testmethoden MethodeEingabe(n) Setter Methode Ausgabe Getter Meth. Erge b-nis Da- tum Tes- ter Konstruktor SCHULE- MAIN "Gymnasium Loerrach" ok29.12.01 Pl Konstruktor SCHUL- KLASSE ("11a",„Munz",1) ;("7b","Henne",3 )("8a","Lost",1.5) ok29.12.01 He setNoten0,01,123,3213,12 12,13 ok; neg Ein- gab. feh- len 30.12.01 Pl

39 www.munz-udo.de38 Weiterführende Testaufgaben 1) Testen sie Ihr Programm gemäß den oben beschriebenen Methoden. 2)Entwerfen Sie weitere Testfälle. 3)Lösen Sie die im Text erwähnten Probleme. 4)Definieren Sie vier verschiedene Standardschüler(innen) bzw. Standardklassen, die möglichst viele Testfälle abdecken. 5)Konzipieren Sie weitere Methoden zur Oberstufenverwaltung. 6)Informieren Sie sich bei Ihrer Schulleitung über die tat-sächlich für die Oberstufenverwaltung eingesetzte Software. Welche Methoden der kommerziellen Software könnten Sie ebenfalls erstellen?

40 www.munz-udo.de39 Container Definition: – WINDOWS Fenster der obersten hierarchischen Stufe (das allumfassende Fenster, in dem das gesamte Programm abläuft). Name: – contentPane, zusammen gesetzt aus content = Inhalt und Pane= (Fenster-) Scheibe.

41 www.munz-udo.de40 Layout Grid Flow Border

42 www.munz-udo.de41 Beispiel: Euro Erstellen Sie ein JAVA Programm, das einen Eurobetrag in eine andere Währung (z.B. US Dollar) umrechnet. Verwenden Sie eine GUI - Oberfläche für das Programm. Passen Sie die Umrechnung dem aktuellen Dollarkurs an. Erweitern Sie das Programm so, dass auch Schweizer Franken umgerechnet werden können.

43 www.munz-udo.de42 Temperaturumrechnung Nach Eingabe einer Temperatur in Grad Celsius ist die Angabe in Grad Réaumur und Grad Fahrenheit umzurechnen. Dabei gelten folgende Umrechnungen: 0°C = 0°R = 32°F und 100°C=80°R=212°F. Ändern Sie Teil 1) wie folgt ab: Nach Eingabe einer Temperatur in Grad Celsius in Grad Réaumur oder in Fahrenheit sind die jeweils anderen Temperaturen zu berechnen. Fügen Sie eine Kelvin-Skala ein.

44 www.munz-udo.de43 Auerbacher Telekom Ihre Rechnung Rechnungsdatum27.1.02 RechnungsmonatJanuar 2002 Kundennummer1234567890 Munz Udo Blauenstr. 47 79589 Binzen Artikel oder Leistung Menge Nettobetrag Nettogesamtbetrag Ust in% T- DSL Telefonanschluss128,5528,5516 83 City-Verbindungen1060,02642,8016 29 Deutschlandverbindungen 2500,03969,9016 T-DSL Flat21,5516 ZWISCHENSUMMExxx Umsatzsteuer 16% auf xxxyyy Rechnungsbetragzzz

45 www.munz-udo.de44 Telefon- rechnung Erstellen Sie ein JAVA - Programm, das aus der Anzahl der genutzten Telefoneinheiten den Gesamtpreis inkl. Grundgebühr berechnet. Die Preise entnehme man der oben abgebildeten Telefonrechnung. Der Grundpreis und die Gebühr einer einzelnen Telefoneinheit sollen als lokale Konstante (final) realisiert werden.

46 www.munz-udo.de45 Aufgaben 1-3 1. Erweitern Sie das Programm Telefon so, dass der Grundpreis und der Preis für eine einzelne Gebühreneinheit auf der Oberfläche sichtbar sind. 2. Erstellen Sie ein entsprechendes Programm für Handy- Gebühren. Es genügt, die Gebühren zur Standardnutzerzeit (höchste Gebührenklasse) zu errechnen. Eingegeben wird nun nicht mehr die Anzahl der Gebühreneinheiten, sondern die Gesamtzeit der Verbindungen. 3. Schreiben Sie ein JAVA - Programm, das nach Eingabe der Anzahl den Kaufpreis für Disketten (bzw. CD- Rohlinge) inklusive 16% Mehrwertsteuer bestimmt.

47 www.munz-udo.de46 Aufgaben 4-6 4. Erweitern Sie das Programm so, dass mehrere Produkte (z.B. CD-Rohlinge und Disketten und Tintenpatronen und...) geordert werden können. Das Programm soll alles fein säuberlich auf der Oberfläche auflisten und den Gesamtpreis berechnen. 5. Erstellen Sie ein Programm, das Antwort auf die Frage gibt: Wie lange kann ich mit einem vorgegebenen Betrag telefonieren? Man differenziere nach Entfernungszonen. 6. Rechnen Sie einen in Sekunden vorgegebenen Wert um in eine Zeitangabe von Tagen, Stunden, Minuten und Sekunden.

48 www.munz-udo.de47 Aufgaben 7-8 7. Rechnen Sie einen in Tagen, Stunden, Minuten und Sekunden vorgegebenen Wert in eine Zeitangabe von Sekunden um. 8. Berechnen Sie aus zwei Zeitangaben eines Tages die Dauer der Zeitspanne dazwischen in Sekunde

49 www.munz-udo.de48 Münzen zählen Erstellen Sie ein einfaches Zählprogramm, das Euromünzen durch Mausklick aufsummieren soll. Die Benutzeroberfläche soll verschiedene Buttons für verschiedene Münzen enthalten und das Ergebnis (Summe) anzeigen.

50 www.munz-udo.de49 Komponenten Notwendige Komponenten Mindestens sieben verschiedene Buttons zur Eingabe Anzeige für das Endergebnis Überschrift Hilfreiche Komponente: Fehlerkorrektur Letzte Eingabe (Mausklick) rückgängig machen.

51 www.munz-udo.de50 Banknotenaufgaben Erweitern Sie das Programm so, dass auch die Beträge von Euroscheinen abgearbeitet werden können. Ordnen Sie die Buttons in einer Form an, die ergonomisch sinnvoll ist. Dabei müssen nicht alle Buttons gleich groß bleiben. Erläutern Sie Ihren Ansatz. Wie kann man mehrere Eingaben rückgängig machen? Ist es sinnvoll, jede Eingabe auch in der Ausgabe anzuzeigen?

52 www.munz-udo.de51 Elementarer Kreis Der Radius r bleibt konstant, der Winkel w gegen die Horizontale ändert sich zwischen Null und 2 (Bogenmaß!). M(mx,my) P(px,py)

53 www.munz-udo.de52 Polarkoordinaten Radius und Winkel legen den Punkt fest

54 www.munz-udo.de53 Kreis und Spirale

55 www.munz-udo.de54 Kreisaufgaben 1-3 1. Wie ändert sich das Ergebnis, wenn man die Schleife bis 4Pi laufen läßt? 2. Ändern Sie die Schleife so, dass der Anfangswert Null benutzt werden kann. 3. Überlegen Sie, ob man das Problem auch mit einer for -Schleife lösen könnte. Begründen Sie Ihr Ergebnis.

56 www.munz-udo.de55 Kreisaufgaben 4-6 4. Erstellen Sie ein Konzept für eine Kreisprogramm ohne Polarkoordinaten. 5. Erzeugen Sie aus dem Kreisprogramm die Graphikdarstellung einer Spirale. Welche Änderungen sind nötig? 6. Was berechnet folgende Anweisung: dPi = Math.atan(1)*4.0 ?

57 www.munz-udo.de56 Array Mehrere Variablen des gleichen Grundtyps ( primitive type, z.B. int oder double ), die den gleichen Variablennamen tragen und durch einen ganzzahligen Index unterschieden werden können. Der Index beginnt stets bei Null und endet dort, wo der maximale Index erreicht ist. Dieser maximale Index wird bei der Deklaration festgelegt. Eine Vereinbarung der Form feld = int[20] reserviert den Speicherplatz für 21 (!) Integervariablen.

58 www.munz-udo.de57 ArrayLists Ähnelt in Funktion dem Array, kann jedoch dynamisch, also zur Run-Time (Laufzeit), erweitert werden!

59 www.munz-udo.de58 Variable vom Typ ArrayList protected static ArrayList alFeld=new ArrayList(); Static {alFeld.add(BigInteger.valueOf(1)); alFeld.add(BigInteger.valueOf(1));}

60 www.munz-udo.de59 Fibonacci Folge 1,1, 1,1,2, 1,1,2,3, 1,1,2,3,5, 1,1,2,3,5,8 1,1,2,3,5,8,13,... a n+1 =a n +a n-1 für n€ N, n>1 und a 1 =1 a 2 =1

61 www.munz-udo.de60 Fibo rechnet neues Folgeglied public static BigInteger fibo(int i) {for (int iLaenge=alFeld.size();iLaenge<i;iLaenge++) { BigInteger letzteFibo= (BigInteger) alFeld.get(iLaenge-1); BigInteger vorletzteFibo= (BigInteger) alFeld.get(iLaenge-2); BigInteger naechsteFibo= letzteFibo.add(vorletzteFibo); alFeld.add(naechsteFibo); } return (BigInteger) alFeld.get(i-1); }

62 www.munz-udo.de61 Fibo Hauptprogramm public static void main(String args[]) { for (int iLauf=111; iLauf<141; iLauf++) {System.out.println(fibo(iLauf));} System.out.println(fibo(115)); System.out.println(fibo(140)); System.out.println(fibo(141)); }

63 www.munz-udo.de62 Fibonacci Ausgabe 781774079430987230203437 1264937032042997393488322 2046711111473984623691759 3311648143516982017180081 5358359254990966640871840 8670007398507948658051921 14028366653498915298923761 22698374052006863956975682 36726740705505779255899443 59425114757512643212875125 96151855463018422468774568 155576970220531065681649693 251728825683549488150424261 407305795904080553832073954 659034621587630041982498215 1066340417491710595814572169 1725375039079340637797070384 2791715456571051233611642553 4517090495650391871408712937 7308805952221443105020355490 11825896447871834976429068427 19134702400093278081449423917 30960598847965113057878492344 50095301248058391139327916261 81055900096023504197206408605...............

64 www.munz-udo.de63 Arrays sortieren über Minimum arraySort sucht man in einem bestehenden Feld zuerst das kleinste Feldelement (Minimum), sichert es in einer Hilfsvariablen, verschiebt alle darunter liegenden Feldelemente um eine Position nach oben und heftet das zuvor gerettete Minimum ans Ende des Feldes. Damit haben wir das Minimum sicher im letzten Feldelement unter gebracht. Im nächsten Durchgang sucht man nur noch bis zum vorletzten Element nach einem Minimum und verfährt erneut wie oben. Mit jedem Durchgang sitzt ein weiteres Element an der richtigen Stelle.

65 www.munz-udo.de64 Sortierfortschritt 9216 7489 4291 8611 1430 8334 4020 9400 899 2787 9216 7489 4291 8611 1430 8334 4020 9400 2787 899 9216 7489 4291 8611 8334 4020 9400 2787 1430 899 9216 7489 4291 8611 8334 4020 9400 2787 1430 899 9216 7489 4291 8611 8334 9400 4020 2787 1430 899 9216 7489 8611 8334 9400 4291 4020 2787 1430 899 9216 8611 8334 9400 7489 4291 4020 2787 1430 899 9216 8611 9400 8334 7489 4291 4020 2787 1430 899 9216 9400 8611 8334 7489 4291 4020 2787 1430 899

66 www.munz-udo.de65 Sortieraufgaben 1-3 1. Erweitern Sie das oben beschriebene Verfahren so, dass eine wirklich große Anzahl Integerzahlen sortiert werden kann. 2. Verändern Sie das obige Programm so, dass nach Bestimmung des Minimums nur ein einziger Tausch erfolgt (aktuelles Minimum an den Schluss, dortige Zahl an bisherige Position des Minimums). 3. Führen Sie den oben beschriebenen Sortieralgorithmus mit einer ArrayList statt einem Array durch. Welche Probleme tauchen auf?

67 www.munz-udo.de66 Sortieraufgaben 4-5 4. Sortieren Sie ein Integerfeld bei der Entstehung. Sobald ein neuer (Zufalls-)Wert berechnet wurde, sucht man seine adäquate Position im Feld, schafft Platz durch Verschieben (Nach oben oder nach unten? Nach oben und unten?) und fügt anschließend ein. 5. Sortieren Sie ein Integerfeld bei der Entstehung, in dem Sie eine Vorsortierung einsetzen. Diese funktioniert so, dass man bei jeder neuen Zahl entscheidet, ob sie zur ersten oder zweiten Hälfte des Felde gehört. Danach muss mit einem anderen Verfahren genauer sortiert werden.

68 www.munz-udo.de67 Sortieraufgaben 6-8 6. Sortieren Sie ein Integerfeld über die Bestimmung des Maximums mit anschließendem Verschieben innerhalb des Feldes. 7. Ändern Sie Ihr Sortierprogramm so ab, dass ein String-Array String[20] sortiert werden kann. Benutzen Sie die Standardmethode compareTo. (Siehe stringSort ) 8. Bewerten Sie die verschiedenen Verfahren. Welches Verfahren eignet sich für vorsortierte Zahlen?

69 www.munz-udo.de68 Trigonometrische Tabelle

70 www.munz-udo.de69 Tabellenaufgaben 1-3 1. Begründen Sie, warum im Beispiel Zufall1.java nicht direkt nach den Strings sortiert wird, sondern diese erst in Integer konvertiert werden. 2. Informieren Sie sich bei www.java.sun.com über die Funktion Random (). Welche Wirkung hat ein Parameter?www.java.sun.com 3. Erweitern Sie unsere trigonometrische Tabelle auf die Tangensfunktion. Beachten Sie eventuelle Definitionslücken.

71 www.munz-udo.de70 Tabellenaufgaben 4-7 4. Erstellen Sie eine Tabelle zur Umrechnung von Bogen- in Gradmaß 5. Tabellieren Sie die Temperaturskalen Celsius, Réaumur, Kelvin und Fahrenheit. 6. Bauen Sie das BubbleSort-Verfahren so um, dass man wahlweise nach oben oder nach unten sortieren kann. 7. Erweitern Sie das BubbleSort- Verfahren so, dass ein einzelner Durchgang der inneren Schleife pro Knopfdruck durchgeführt wird. So erkennt man, wie die Tabelle immer weiter sortiert wird.


Herunterladen ppt "www.munz-udo.de1 JAVA und OOP Teil 2: Objektorientierung."

Ähnliche Präsentationen


Google-Anzeigen