interface Drueber{ void soundso(); }
interface NameUmdrehen extends Drueber { void umdrehen(String n); }
public class Person{
String name ;
int alter;
public void drucken(){
System.out.println(name+" "+alter);
}
}
class Student extends Person implements NameUmdrehen{ // String name; // int alter; String mtrnr; Student(String m, String n, int a){ name=n; alter=a; mtrnr=m; } public void drucken(){ System.out.print(mtrnr+": "); super.drucken(); } public void soundso(){ } public void umdrehen(String s){ for (int i= s.length()-1; i>-1; i--) { System.out.print(s.substring(i,i+1)); } // end of for } public static void main(String[] args){ Student st1=new Student("12345","Meier",26); st1.drucken(); st1.umdrehen(st1.name); System.out.println(); Person p1= new Person(); p1=st1; // !!! druckt mit Methode der Subklasse p1.drucken(); Object o= new Object(); int j=7; o = st1;
o=j; System.out.println(o); System.out.println(st1); // System.out.println(p1.mtrnr); // st1=p1; } }
public class GraphException extends Exception {} public class Graph {
protected boolean[][] adjacencyMatrix;
protected String[] nodes;
protected int indexOf(String node) throws GraphException {
for (int i = 0; i < nodes.length; i++) {
if (node.equals(nodes[i])) {
return i;
}
}
throw new GraphException();
}
public Graph(int nodeNumber) {
nodes = new String[nodeNumber];
adjacencyMatrix = new boolean[nodeNumber][nodeNumber];
}
public Graph(String[] nodes) {
this(nodes.length);
for (int i = 0; i < nodes.length; i++) {
this.nodes[i] = nodes[i];
}
}
public String getNode(int index) throws GraphException {
// ...liefert den Namen des Knotens an der
// durch den Wert des Parameters bezeichneten Position,
// wenn diese einen Knoten bezeichnet; sonst eine GraphException.
if ((index<0) || (index >(nodes.length-1)) ) {
throw new GraphException();
} // end of if
else {
return nodes[index];
} // end of if-else
}
public int getNumberOfNodes() {
// ...liefert die Anzahl der Knoten zurueck.
return nodes.length;
}
public void setNodes(String[] nodes) {
// ...weist den ersten k Elementen des Attributs nodes die
// entsprechenden Werte des Parameters nodes zu. k ist dabei das
// Minimum aus der Laenge des Attributs und des Parameters.
int k = nodes.length;
if (this.nodes.length < k) {
k= this.nodes.length ;
} // end of if
for (int i=0; i< k ;i++ ) {
this.nodes[i]= nodes[i];
} // end of for
}
public boolean isAdjacent(int index1, int index2) throws GraphException {
// ...liefert "wahr", wenn die Knoten mit Index
// index1 und index2 benachbart sind, sonst "falsch".
if (index1<0 || index2 <0 || index1>=nodes.length || index2>=nodes.length ) {
throw new GraphException();
} // end of if
return adjacencyMatrix[index1][index2];
}
public boolean isAdjacent(String node1, String node2) throws GraphException {
// ...liefert "wahr", wenn die Laender mit Namen
// node1 und node2 benachbart sind, sonst "falsch".
int index1=-1;
int index2=-1;
for (int i=0;i<nodes.length ; i++) {
if (nodes[i].equals(node1)) {
index1=i;
} // end of if
} // end of for
for (int i=0;i<nodes.length ; i++) {
if (nodes[i].equals(node2)) {
index2=i;
} // end of if
} // end of for
if ((index1==-1) || (index2==-1) ) {
throw new GraphException();
} // end of if
return adjacencyMatrix[index1][index2];
}
public void addEdge(int index1, int index2) throws GraphException {
// ...fuegt Kante zwischen den Knoten mit
// Index index1 und index2 ein, wenn diese
// Indizes von Laendern sind; sonst eine GraphException.
}
public void addEdge(String node1, String node2) throws GraphException {
// ...fuegt Kante zwischen den Knoten mit
// Laendernamen node1 und node2 ein, wenn diese
// Knoten des Graphen bezeichnen; sonst eine GraphException.
}
}
funktioniert jetzt. istVorgesetzterVor ist jetzt als Methode in die Aufzählung aufgenommen worden.
class THW{
static public enum dienstgrad{
HELFER, TRUPPFUEHRER, GRUPPENFUEHRER, ZUGTRUPPFUEHRER, ZUGFUEHRER;
public boolean istVorgesetzterVor(dienstgrad d){
return (this.ordinal() > d.ordinal());
}
};
void printAll(){
for ( dienstgrad dg: dienstgrad.values()) {
System.out.println(dg);
} // end of for
}
public static void main(String[] args) {
THW truppe= new THW();
truppe.printAll();
System.out.println(dienstgrad.HELFER.istVorgesetzterVor(dienstgrad.GRUPPENFUEHRER));
System.out.println(dienstgrad.TRUPPFUEHRER.istVorgesetzterVor(dienstgrad.HELFER));
System.out.println(dienstgrad.GRUPPENFUEHRER.istVorgesetzterVor(dienstgrad.GRUPPENFUEHRER));
}
}