Hallo. 
Folgender Quellcode ist gegeben.
Die Ausgabe des Programms ist:
Soweit der einfache Teil, nämlich welche Ausgabe das Programm erzeugt. Jetzt ist eine ausführliche Begründung verlangt.
Naja, ich kann schlecht sagen, "frag doch den Compiler." Aber andererseits weiß ich nicht, wie ich das hier sinnvoll begründen kann...
Kann mir bitte jemand einen Tipp geben (in der Hoffnung, dass ich gedanklich etwas auf die Sprünge komme...)?
Vielen Dank.
Folgender Quellcode ist gegeben.
Java:
public class Parameteruebergabe
{
static String a = "A";
static String b = "B";
static String[] ab = {a, b};
public static void swap (String s0, String s1)
{
String temp = s0;
s0 = s1;
s1 = temp;
}
public static void swap (String[] s)
{
String temp = s[0];
s[0] = s[1];
s[1] = temp;
}
public static void proverb()
{
System.out.println ("Wer " + a + " sagt, muss auch " + b + " sagen!");
System.out.println ("Also muss auch " + ab[0] + " sagen, wer " + ab[1] + " sagt?");
}
public static void main (String[] args)
{
proverb();
swap(a, b);
proverb();
swap(ab);
proverb();
}
}
Die Ausgabe des Programms ist:
Code:
Wer A sagt, muss auch B sagen!
Also muss auch A sagen, wer B sagt?
Wer A sagt, muss auch B sagen!
Also muss auch A sagen, wer B sagt?
Wer A sagt, muss auch B sagen!
Also muss auch B sagen, wer A sagt?
Soweit der einfache Teil, nämlich welche Ausgabe das Programm erzeugt. Jetzt ist eine ausführliche Begründung verlangt.
Naja, ich kann schlecht sagen, "frag doch den Compiler." Aber andererseits weiß ich nicht, wie ich das hier sinnvoll begründen kann...
Kann mir bitte jemand einen Tipp geben (in der Hoffnung, dass ich gedanklich etwas auf die Sprünge komme...)?
Vielen Dank.