Hallo, ich habe einen Notfall ich muss zu morgen eine Aufgabe fertig haben. Wär echt super, wenn ihr mir ein bisschen helfen könntet 
Also ich soll 4 Methoden verlgeichen die zwei Zahlen vertauschen.
a) Dabei soll ich mir ein gültiges Java-Fragment als Aufruf der Methoden überlegen.
b) Ich soll erklären aus welchen Gründen einige Methoden die Zahlen korrekt vertauschen und andere nicht. Und warum manche nur bei bestimmte Zahlen richtig vertauschen(bei angenommern korreketer methode)
c) Bei tausche3 soll ich einen allgemenen Nachweis, machen dass ich eine korrekte Arbeitsweise habe.
SOOO
a)
also als erstes weiß ich garnicht, was die mit java-Fragment meinen? Soll ich einfach nen Programm schreiben, wo die Methode dann aufgerufen wird???
b)
Erstmal tauschen alle methoden natürlch nur bestimmte zahlen, da alle vom typ Integer sind:
Tausche1 und tausche2 sollte funktionieren.
Tausche3 iwie nicht. bin es mal mit nem beispiel durchgegangen und irgendwie kommt dann was anderes raus :/
tausche 4 leuchtet mir iwie nicht ein
was besagt denn diese hier:
for (int i=2; i<a.length; i++) {
c = a;
}
a = c;
dass er felder erzeugt bis a.length, aber warum soll dann c=a sein?
c)tja einen allgemeinen nachweis woll die? bestimmt so richtig mit x und y...
ich hoffe das reicht so.
Wie gesagt ich muss das abgebn und bin nich so der Überflieger :/
Also ich soll 4 Methoden verlgeichen die zwei Zahlen vertauschen.
a) Dabei soll ich mir ein gültiges Java-Fragment als Aufruf der Methoden überlegen.
b) Ich soll erklären aus welchen Gründen einige Methoden die Zahlen korrekt vertauschen und andere nicht. Und warum manche nur bei bestimmte Zahlen richtig vertauschen(bei angenommern korreketer methode)
c) Bei tausche3 soll ich einen allgemenen Nachweis, machen dass ich eine korrekte Arbeitsweise habe.
Java:
public static void tausche1(int a, int b) {
int c = a;
a = b;
b = c;
}
Java:
public static void tausche2(int[] a) {
int c = a[0];
a[0] = a[1];
a[1] = c;
}
Java:
public static void tausche3(int[] a) {
a[0] = a[1] - a[0];
a[1] = a[1] - a[0];
a[0] = a[1] + a[0];
}
Java:
public static void tausche4(int[] a) {
int[] c = new int[a.length];
c[0] = a[1];
c[1] = a[0];
for (int i=2; i<a.length; i++) {
c[i] = a[i];
}
a = c;
}
SOOO
a)
also als erstes weiß ich garnicht, was die mit java-Fragment meinen? Soll ich einfach nen Programm schreiben, wo die Methode dann aufgerufen wird???
b)
Erstmal tauschen alle methoden natürlch nur bestimmte zahlen, da alle vom typ Integer sind:
Tausche1 und tausche2 sollte funktionieren.
Tausche3 iwie nicht. bin es mal mit nem beispiel durchgegangen und irgendwie kommt dann was anderes raus :/
tausche 4 leuchtet mir iwie nicht ein
was besagt denn diese hier:
for (int i=2; i<a.length; i++) {
c = a;
}
a = c;
dass er felder erzeugt bis a.length, aber warum soll dann c=a sein?
c)tja einen allgemeinen nachweis woll die? bestimmt so richtig mit x und y...
Java:
public static void tausche3(int[] a) {
//lese zahlen x und y
//sei dabei a[0]=x und a[1]=y
a[0] = a[1] - a[0];
//x = y-x
a[1] = a[1] - a[0];
//y = y - (y-x)
a[0] = a[1] + a[0];
//(y-x) = (y-(y-x)) + (y-x)
// dann folgt (y-x) = y- 2x
// rauskommen sollte jetzt x=y und y=x durch umformen erhält man aber
//y=y-x und x=2x
}
ich hoffe das reicht so.
Wie gesagt ich muss das abgebn und bin nich so der Überflieger :/