/***************************************************************/ /* Prof. Dr. Carsten Vogt */ /* TH Koeln, Fakultaet IME */ /* http://www.nt.th-koeln.de/vogt */ /* */ /* Das Programm demonstriert die unterschiedlichen Uebergabe- */ /* techniken bei skalaren Typen und Arrays. */ /***************************************************************/ import java.io.*; public class Parameter { /* Methode zur Erhoehung zweier int-Werte um 1: Die aktuellen Parameter enthalten int-Werte, die beim Aufruf in die formalen Parameter kopiert werden. Die Anweisungen des Funktionskoerpers arbeiten auf den Wertkopien in den formalen Parametern, was keine Auswirkung auf die aktuellen Parameter hat. */ public static void inkr_int(int form1, int form2) { System.out.println(); System.out.println("in inkr_int():"); System.out.println(" form1, form2 vor Erhoehung: " + form1 + " " + form2); form1++; form2++; System.out.println(" form1, form2 nach Erhoehung: " + form1 + " " + form2); } /* Methode zur Erhoehung der ersten beiden Elemente eines int-Arrays um 1: Der aktuelle Parameter enthaelt einen Verweis auf ein Arrayobjekt, und dieser Verweis wird beim Aufruf in den formalen Parameter kopiert. Die Anweisungen des Funktionskoerpers greifen ueber diesen Verweis im formalen Parameter auf das Arrayobjekt zu und haben somit Auswirkungen auf den aktuellen Parameter, da auch dieser auf das Arrayobjekt verweist. */ public static void inkr_array(int[] form_array) { System.out.println(); System.out.println("in inkr_array():"); System.out.println(" form_array[0], form_array[1] vor Erhoehung: " + form_array[0] + " " + form_array[1]); form_array[0]++; form_array[1]++; System.out.println(" form_array[0], form_array[1] nach Erhoehung: " + form_array[0] + " " + form_array[1]); } /* Methode zur Verdopplung der Elemente eines int-Arrays. Auch hier findet eine Referenzuebergabe statt, so dass sich die Eintraege des aktuellen Parameters, also des Arrays im Hauptprogramm ändern. */ public static void doppel(int[] f) { for (int i=0; i