Einführung in die objektorientierte Programmierung

Hauptklausur 17 Aufg 1

 
class BluRayMedium{
 String name;
 BluRayMedium(String name){
 this.name=name;
 }
 } 

class BluRayPlayer{
   void einlegen(BluRayMedium medium){
   System.out.println("Film '"+medium.name+"' eingelegt.");
   }
   }
 
public class HeimkinoDemo {
public static void main(String[] args) {
TonSystem m = new TonSystem(2);
BluRayPlayer t = new BluRayPlayer();
TvGerät c = new TvGerät(t, m);
c.bluRayPlayer.einlegen(new BluRayMedium("Star Wars"));
try {
c.tonSystem.erwarteKanäle(6);
System.out.println("Surround-Sound-Tonsystem.");
} catch (Exception e) {
System.out.println("Kein Surround-Sound Tonsystem.");
}
try {
c.tonSystem.erwarteKanäle(2);
System.out.println("Stereo-Tonsystem.");
} catch (Exception e) {
System.out.println("Kein Stereo-Tonsystem.");
}
}
} class TonSystem{
int kanaele;
TonSystem(int kanaele){
this.kanaele= kanaele;
System.out.println("Tonsystem mit "+kanaele+" Kanälen erzeugt.");
}
void erwarteKanäle(int anz) throws Exception{
if (kanaele!=anz) {
throw new Exception();
} // end of if
}
} class TvGerät{
BluRayPlayer bluRayPlayer;
TonSystem tonSystem ;

TvGerät(BluRayPlayer bluRayPlayer,TonSystem tonSystem){
this.bluRayPlayer= bluRayPlayer;
this.tonSystem= tonSystem;
}
}

Hauptklausur 17 Aufg 2

 
public class Wohnzimmer {
public static void main(String[] args) {
Kiste kiste = new Kiste();
Regal regal = new Regal();
Brettspiel schach = new Brettspiel(kiste);
Buch herrDerRinge = new Buch(regal);
Gegenstand<?> einGegenstand = schach;

Möbelstück möbel = einGegenstand.lagerort();
Kiste spieleKiste = schach.lagerort();
Regal bücherRegal = herrDerRinge.lagerort();

System.out.println(einGegenstand.lagerort);
//System.out.println(bücherRegal);
/* [1] */
}
} class Regal extends Möbelstück { } class Möbelstück { } class Kiste extends Möbelstück { } class Gegenstand<T extends Möbelstück>{
T lagerort;
Gegenstand(T m){
this.lagerort=m;
}

T lagerort(){
return lagerort;
}
} class Buch extends Gegenstand<Regal>{
Buch(Regal r){
super(r);
}
} class Brettspiel extends Gegenstand<Kiste>{
Brettspiel(Kiste k){
super(k);
}

}

Hauptklausur 17 Aufg 5

 
public class ArrayDemo {
public static void main(String[] args) {
int max = Integer.parseInt(args[0]);
String[] zahlen= new String[max];

for (int i=0;i<max ;i++ ) {
zahlen[i]= Integer.toHexString(i+1);
} // end of for

for (String s: zahlen) {
System.out.println(s);
} // end of for

}
} public class ArrayDemo2 {
public static void main(String[] args) {
int max = Integer.parseInt(args[0]);
String[][] zahlen= new String[max][2];

for (int i=0;i<max ;i++ ) {
zahlen[i][0]= Integer.toBinaryString(i+1);
zahlen[i][1]= Integer.toHexString(i+1);
} // end of for

for (String[] s: zahlen) {
System.out.println(s[0]+ " : "+ s[1]);
} // end of for

}
}

Hauptklausur 17 Aufg 7

 
enum  SaisonMonat {
MAI, JUNI, JULI, AUGUST, SEPTEMBER;

boolean istNach(SaisonMonat monat) {
return (this.ordinal() > monat.ordinal());
}

boolean istVor(SaisonMonat monat) {
return (this.ordinal() < monat.ordinal());
}

SaisonMonat naechsterSaisonMonat() {
int ord= this.ordinal();
if (SaisonMonat.values().length==ord+1) {
return SaisonMonat.values()[0];
} // end of if
return SaisonMonat.values()[ord+1];
}

SaisonMonat vorherigerSaisonMonat() {
int ord= this.ordinal();
if (ord==0) {
return SaisonMonat.values()[SaisonMonat.values().length-1];
} // end of if
return SaisonMonat.values()[ord-1];
}

}
public class FreibadSaisonDemo {
 public static void main(String[] args) {
 System.out.println(SaisonMonat.JULI.istVor(SaisonMonat.MAI)); // false
 System.out.println(SaisonMonat.JULI.istVor(SaisonMonat.JUNI)); // false
 System.out.println(SaisonMonat.JULI.istVor(SaisonMonat.JULI)); // false
 System.out.println(SaisonMonat.JULI.istVor(SaisonMonat.AUGUST)); // true
 System.out.println(SaisonMonat.JULI.istVor(SaisonMonat.SEPTEMBER)); // true
 System.out.println(SaisonMonat.JULI.istNach(SaisonMonat.JUNI)); // true
 System.out.println(SaisonMonat.JULI.istNach(SaisonMonat.JULI)); // false
 System.out.println(SaisonMonat.JULI.istNach(SaisonMonat.AUGUST)); // false
 System.out.println(SaisonMonat.JULI.naechsterSaisonMonat()); // FreibadSaison.AUGUST
 System.out.println(SaisonMonat.JULI.vorherigerSaisonMonat()); // FreibadSaison.JUNI
 System.out.println(SaisonMonat.SEPTEMBER.naechsterSaisonMonat()); // FreibadSaison.MAI
 System.out.println(SaisonMonat.MAI.vorherigerSaisonMonat()); // FreibadSaison.SEPTEMBER
 
 }
 } 

Nachklausur 17 Aufg 1

 
class  Feld{
   static public void main(String[] args){
   
   String[] strfeld = new String[2];
   strfeld[0]="zzzzz";
   Object[] objfeld = strfeld; // Zeile 2 
   System.out.println(objfeld[0]);
   objfeld[0] = new Object(); // Zeile 3 
   strfeld=null;
   String[] strfeld2 = new String[2];
   //strfeld2= objfeld;
 
   System.out.println(strfeld);
   
   }
   }
 

Nachklausur 17 Aufg 5

 
import java.awt.*;
   import java.awt.event.*;
class Fenster extends Frame{
   public static void main(String[] args){
   Fenster f= new Fenster();
   f.setSize(400,300);
   f.setVisible(true);
   
   Label l=new Label("Ein Text");
   f.add(l);
   
   f.addWindowListener(new WindowAdapter(){
   public void windowClosing(WindowEvent e){
   System.exit(0);
   }
   });
   }
   }