also...ich steh mal wieder ein wenig auf dem schlauch.
ich soll eine Klasse programmieren, die zwei methoden enthält:
void gebtSelbstauskunft(Object[] a) : soll testen ob in dem mitgegebenen array von objekten eines dieser objekte eine parameterlose methode hat, die das suffix "Info" enthält
und falls diese beiden dinge zutreffen diese methode ausführen.
string gemeinsamerVorfahr(Object a, Object b) : soll zwei objekte erhalten und den namen der speziellsten gemeinsamen oberklasse zurückgeben.
für ersteres hatte ich eine idee, die wie folgt aussieht:
das was am anfang in der mainmethode ist ist ein testarray von objekten, bei denen schnitzel und braubier je eine methode enthalten, die die bedingungen von gebtselbstauskunft() befriedigen würden, aber es funzt nicht...
System.out.println(methodname);
System.out.println(parameter.length);
habe ich hinzugefügt um zu testen ob die methodennamen überhaupt das sind was sie sein sollten, aber da kommt auhc nur müll bei rum....
wäre extrem cool, wenn da jemand helfen könnte
hier noch schnitzel und braubier (bauern enthält nur seinen eigenen konstruktor):
für die zweite habe ich noch keine wirkliche idee.
ich soll eine Klasse programmieren, die zwei methoden enthält:
void gebtSelbstauskunft(Object[] a) : soll testen ob in dem mitgegebenen array von objekten eines dieser objekte eine parameterlose methode hat, die das suffix "Info" enthält
und falls diese beiden dinge zutreffen diese methode ausführen.
string gemeinsamerVorfahr(Object a, Object b) : soll zwei objekte erhalten und den namen der speziellsten gemeinsamen oberklasse zurückgeben.
für ersteres hatte ich eine idee, die wie folgt aussieht:
Java:
public class Selbsterkenntnis {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Object [] test = new Object[3];
test[0] = new schnitzel();
test[1] = new bauern();
test[2] = new braubier();
gebtSelbstauskunft(test);
}
static void gebtSelbstauskunft (Object [] a){
for (int i=0; i<=a.length-1; i++){
Class class_i = a[i].getClass();
Method[] methods = class_i.getMethods();
for (int p=0; p<=methods.length-1; p++){
Class[] parameter = methods[p].getParameterTypes();
String methodname = methods[p].getName();
System.out.println(methodname);
System.out.println(parameter.length);
if ((parameter.length==0)&&(methodname.contains("Info"))){
try {
methods[i].invoke(a[i]);
}
catch (IllegalAccessException e) {
System.out.println(e);
}
catch (InvocationTargetException e) {
System.out.println(e);
}
}
}
}
}
}
das was am anfang in der mainmethode ist ist ein testarray von objekten, bei denen schnitzel und braubier je eine methode enthalten, die die bedingungen von gebtselbstauskunft() befriedigen würden, aber es funzt nicht...
System.out.println(methodname);
System.out.println(parameter.length);
habe ich hinzugefügt um zu testen ob die methodennamen überhaupt das sind was sie sein sollten, aber da kommt auhc nur müll bei rum....
wäre extrem cool, wenn da jemand helfen könnte
hier noch schnitzel und braubier (bauern enthält nur seinen eigenen konstruktor):
Java:
public class schnitzel {
schnitzel(){
}
void sagenInfo(){
System.out.println("hab eins");
}
}
Java:
class braubier{
braubier(){}
void nochwasInfo(){
System.out.println("hab noch was");
}
}
für die zweite habe ich noch keine wirkliche idee.