2015-spf2\01-Demo1\src\Demo_Klassenaufbau.java
1  //  Demo_Klassenaufbau.java //
2  //  1.  Variante:                       Programmieren in der main() Methode
3  //  ----------------------------------------------------------------------- //
4 import java.lang.Math.*; // Befehlsbibliothek von Mathe funktionen 5 6 7 class Demo_Klassenaufbau 8 { 9 public static void main(String[] args) // Einstiegspunkt vom Programm 10 { 11 // Code hier erstellen ... 12 System.out.println("Hallo World"); 13 int a = 16; 14 double b = 1.5; 15 double ergebnis = Math.sqrt(a) + b; 16 System.out.println("Ergebnis = "+ergebnis); 17 } 18 }


19


20 // ----------------------------------------------------------------------- // 21 // 2. Variante: Programmieren in der main() Methode 22 // mit Untermethoden, die dann static sein müssen 23 // Es gibt sogenannt leere (void) Methoden, die nur etwas tun 24 // Es gibt Methoden, mit Returnwert und entsprechendem Typ 25
26 class Demo_Klassenaufbau2 27 { 28 static void ausgabe(double a) 29 { 30 System.out.println("Diese Unterfunktion gibt "+a+" aus"); 31 } 32 33 static double addieren(double a, double b) 34 { 35 double e = a+b; 36 return e; 37 } 38 39 public static void main(String[] args) // Einstiegspunkt vom Programm 40 { 41 // Code hier erstellen ... 42 double summe = addieren(3, 15); 43 System.out.println("Die Summe ist "+summe); 44 } 45 } 46


47 // Aufgabe: Speichere 10 Zufallszaheln in ein Array 48 // Eine Unterfunktion getMax(Array[] arr ) 49 // soll das grösste Element aus einem Array zurückgeben 50


51 // Dritte Variante: Programmieren mit Konstruktor 52 // Eine Instanz entsteht, mit Instanzmethoden (not static),
54 class Demo_Konto 55 { 56 String kontoname; // Instanzvariablen 57 double stand = 0; 58 double zinssatz = 0.01; 59 60 // Konstruktor erzeugt eine Instanz dieser Klasse 61 Demo_Konto(double betrag, double zinssatz, String name) 62 { 63 kontoname = name; 64 stand = betrag; 65 this.zinssatz = zinssatz; 66 } 67 68 void ausgabe() 69 { 70 System.out.println("Das Konto mit Name "+kontoname+" hat den Stand "+stand); 71 } 72 73 String getName() 74 { 75 return kontoname; 76 } 77 78 double getZinssatz() 79 { 80 return zinssatz; 81 } 82 83 void einzahlung(double betrag){ 84 stand = stand + betrag; 85 } 86 87 public static void main(String[] args) // Einstiegspunkt vom Programm 88 { 89 Demo_Konto k1 = new Demo_Konto(100.0, 0.03, "Egon"); 90 Demo_Konto k2 = new Demo_Konto(355.0, 0.01, "Xaver"); 91 k1.einzahlung(20); 92 k1.ausgabe(); 93 k2.ausgabe(); 94 System.out.println("Zinssatz von Konto"+k1.getName()+" hat den Zinssatz: " 95 + k1.getZinssatz() ); 96 } 97 }


98 // Aufgabe: 99 // Erzeuge mehrere Instanzen (Konten), lasse die Konten x Jahre lang laufen. 100 // Prüfe den Stand nach x Jahren? Wann sind Kontostände gleich gross?