Hey Leute,
ich hab hier gleich mehrere Fragen zu 2 Prüfungsaufgaben von mir.
1.
Ich will dass mein Programm (am Beispiel vom array x1) dass erste mit dem vierten vergleicht und ausgibt, dass zweite mit dem 5. und so weiter.
Meine Lösung oben funzt irgendwie nicht so ganz, komm leider da nicht weiter.
Dann Nummer 2:
Was ist in Klasse A zum Beispiel public A z;
Es ist ja keine Klasse, keine Methode und eine Variable mit A gibts jawohl auch nicht?
Genauso verwirrend ist für mich in Klasse B die Methode public static A g(int x1, int x2)
Wieso A g? Kann eine Methode 2 Namen haben, oder ist der Methodenname einfach A leerzeichen g? Leerzeichen darf man doch gar nicht benutzen oder täusche ich mich da?
In der main Methode dann genauso, erst:
A p = g(0 , 5) --> darauf wird dann p.f();aufgerufen, und weiter unten dann dass gleiche ohne A, also nur:
p = g(2,1);
p.f();
Wieso also einmal mit A und einmal ohne, aber dafür 2mal der gleiche aufruf von f auf p, und woher weiß der Compiler welches p.f() zu welcher Methode gehört.
Häng da echt fest weil ich die Namensgebungen in der zweiten Aufgabe auf keinem Auge blicke.
Könnte es ja einfach in Eclipse reinkopieren und ausgeben, aber in meine Prüfng in 2 Wochen werd ich das alles per Hand auf nem Blatt Papier machen müssen, von demher wäre dass ganz gut wenn ich sowas wüsste.
Ich hoffe ihr könnt mir da helfen.
Viele Grüße
Schocksen
ich hab hier gleich mehrere Fragen zu 2 Prüfungsaufgaben von mir.
1.
Java:
public class A {
public static boolean f(int[] x) {
int b = x.length / 2;
int i = 0;
while(i<b){
if(x[i] != x[i+b]){
return false;
}else{
return true;
}
i++;
}
public static void main(String[] args) {
int x1[] = {1,2,3,1,2,3};
System.out.println(f(x1));
int x2[] = {1,2,1,2,1,2};
System.out.println(f(x2));
int x3[] = {3,3,3,3};
System.out.println(f(x3));
int x4[] = {3,3,3};
System.out.println(f(x4));
}
}
Meine Lösung oben funzt irgendwie nicht so ganz, komm leider da nicht weiter.
Dann Nummer 2:
Java:
public class A {
public int x;
public A z;
public void f() {
System.out.println(x);
if (x<3)
z.f();
}
}
public class B {
public static A g(int x1, int x2) {
A a1 = new A();
a1.x = x1;
A a2 = new A();
a2.x = x2;
a1.z = a2;
a2.z = a1;
return a1;
}
public static void main(String[] args) {
A p = g(0,5);
p.f();
System.out.println("---");
p = g(2,1);
p.f();
}
}
Es ist ja keine Klasse, keine Methode und eine Variable mit A gibts jawohl auch nicht?
Genauso verwirrend ist für mich in Klasse B die Methode public static A g(int x1, int x2)
Wieso A g? Kann eine Methode 2 Namen haben, oder ist der Methodenname einfach A leerzeichen g? Leerzeichen darf man doch gar nicht benutzen oder täusche ich mich da?
In der main Methode dann genauso, erst:
A p = g(0 , 5) --> darauf wird dann p.f();aufgerufen, und weiter unten dann dass gleiche ohne A, also nur:
p = g(2,1);
p.f();
Wieso also einmal mit A und einmal ohne, aber dafür 2mal der gleiche aufruf von f auf p, und woher weiß der Compiler welches p.f() zu welcher Methode gehört.
Häng da echt fest weil ich die Namensgebungen in der zweiten Aufgabe auf keinem Auge blicke.
Könnte es ja einfach in Eclipse reinkopieren und ausgeben, aber in meine Prüfng in 2 Wochen werd ich das alles per Hand auf nem Blatt Papier machen müssen, von demher wäre dass ganz gut wenn ich sowas wüsste.
Ich hoffe ihr könnt mir da helfen.
Viele Grüße
Schocksen