Einführung in die objektorientierte Programmierung

Objekte erzeugen

class Person{
String name;
String vorname;
int tag;
int mon;
int jahr;

Person(){

}

Person( String n, String v, int t, int m, int j){
name=n;
vorname=v;
tag=t;
mon=m;
jahr=j;
}

void drucken(){
System.out.println(vorname +" " + name);
System.out.println("Geboren "+ tag+"."+mon+"."+jahr);
System.out.println();
}

public static void main(String[] args){
Person person1;
person1= new Person("Jagger","Mick",1,2,1943);
person1.drucken();
System.out.println("Objekt "+ person1);
Person person2= new Person();
person2.drucken();
}
}


ZahlAusdenken

class ZahlAusdenken {
public static void main(String[] args) {
int startzahl;
try{
startzahl = Integer.parseInt(args[0]);
}
catch (Exception e){
System.out.println("Bitte integer als Eingabe!");
startzahl=0;
}
int ergebnis = startzahl;
if (ergebnis > 0) {
ergebnis = ergebnis + 2;
} else {
ergebnis = ergebnis * (-1) + 2;
}
while (ergebnis > 2) {
ergebnis = ergebnis - 2;
}
int arbeiten = 4;
for (int i = 2; i <= 20; i = i + 2) {
arbeiten = arbeiten + startzahl;
}
switch (ergebnis) {
case 0:
System.out.println("Das kann nicht sein!");
break;
case 1:
System.out.println("Die urspruengliche Zahl war ungerade!");
break;
case 2:
System.out.println("Die urspruengliche Zahl war gerade!");
break;
default:
System.out.println("Fehler!");
}
System.out.println("startzahl = " + startzahl);
}
}


Fallunterscheidung

class Geometrie{
public static void main(String[] args){
if (args[0].equals("Quadrat")) {
System.out.println("Vier Ecken");
System.out.println("Vier Symmetrieachsen");
System.out.println("Ist punktsymmetrisch");
System.out.println("Ist geschlossen");
} // end of if

if (args[0].equals("Dreieck")) {
System.out.println("Drei Ecken");
System.out.println("Keine Symmetrieachsen");
System.out.println("Ist nicht punktsymmetrisch");
System.out.println("Ist geschlossen");
} // end of if


}

}


Gauss

public class Summierer {
public static void main(String[] args) {
Summierer summierer = new Summierer();
int startWert = Integer.parseInt(args[0]);
System.out.println("Ergebnis mit for-Schleife: "
+ summierer.forSumme(startWert));
System.out.println("Ergebnis kleiner Gauss: "
+ summierer.kleinerGauss(startWert));
System.out.println("Ergebnis rekursiv: "
+ summierer.rekursiveSumme(startWert));
}
int forSumme(int startWert) {
int summe=0;
for (int i=1; i<startWert+1 ; i++ ) {
summe = summe+ i;
} // end of for
return summe;
}
int rekursiveSumme(int startWert) {
if (startWert==1) {
return 1;
} // end of if
else {
return startWert+ rekursiveSumme( startWert-1);
} // end of if-else
}
int kleinerGauss(int startWert) {
int summe;
summe= (startWert *(startWert+1)) / 2;
return summe;
}
}


Game of Life

public class GameOfLife {
boolean[][] feld = { { false, false, false, false, false },
{ false, false, true, false, false },
{ false, false, true, false, false },
{ false, false, true, false, false },
{ false, false, false, false, false } };
public static void main(String[] args) {
GameOfLife myGame = new GameOfLife();
for (int i = 0; i < 10; i++) {
myGame.nextGeneration();
myGame.print();
System.out.println();
}
}
void print() {
for (int i = 0; i < feld.length; i++) {
for (int j = 0; j < feld[i].length; j++) {
if (feld[i][j] == true)
System.out.print("o ");
else
System.out.print(". ");
}
System.out.println();
}
}
void nextGeneration() {
boolean[][] ng = new boolean[feld.length][feld[0].length];

for (int i=1; i< feld.length-1 ; i++) {
for (int j=1;j < feld[0].length-1 ;j++ ) {
int summe=0;
if (feld[i-1][j-1]) summe++;
if (feld[i-1][j]==true) summe++;
if (feld[i-1][j+1]==true) summe++;
if (feld[i][j-1]==true) summe++;
if (feld[i][j+1]==true) summe++;
if (feld[i+1][j-1]==true) summe++;
if (feld[i+1][j]==true) summe++;
if (feld[i+1][j+1]==true) summe++;
// Neues Lebewesen falls bisher nicht lebendig
if ( summe==3 ) ng[i][j]=true;
// überleben
else if (feld[i][j] && summe==2) ng[i][j]=true;
// umbringen
else ng[i][j]=false;

} // end of for
} // end of for
feld = ng;
}
}