Hallo ich bin neu hier, normal programmiere ich C und mache Java nur zur Entspannung und wenn ich mal was kleines programmieren will, trotzdem will ich keinen Müll programmieren.
Mein Problem war immer das man keine Pointer hatte, das hat den Nachteil in Java das man, sobald eine Funktion mehr als 1 Rückgabe Wert braucht, eine Klasse schreiben muss oder, wenn es vom gleichen Datentyp ist in eine Liste packen muss und diese zurück gibt. Hab dann mal kurz überlegt, ist es gängig oder vom großen Nachteil wenn man sich einen Pointer schreibt. Hab es so gemacht.(nur ein Beispiel, hab es nicht in einer Arbeitsumgebung geschrieben, kann Syntaxfehler enthalten)
function void calc(String s1[], String s2[]){
if (s1 == null || s2 == null)
return;
s1[0] += "2";
s1[0] += "4";
}
function void egal(){
String s1[] = new String[1];
String s2[] = new String[1];
s1[0]="1+1=";
s2[0]="2+2=";
calc(s1,s2);
System.out.println(s1);
System.out.println(s2);
}
Am Ende kommt "1+1=2" und "2+2=4" raus. Das Beispiel ist blöd es geht nur um das Prinzip. Was passiert da: Ganz einfach ich instanziieren ein Array und übergebe nur den Speicherort bei der Funkion. Die Funktion muss zwangsläufig den gleichen Wert bearbeiten, was bei einer normalen Übergabe nicht der Fall ist.
1. Frage gibt es eine bessere Möglichkeit. (man beachte auch mit Verschiedenen datentypen und es sollte nicht vom Code her nicht viel länger sein).
2. Frage kann man den S***** so machen und was muss man alles beachten.
Ich hab zu dem Thema wenig (eigentlich gar nichts) gefunden. Vielleicht kann mir jemand mal zeigen wie er das dann löst.
Mein Problem war immer das man keine Pointer hatte, das hat den Nachteil in Java das man, sobald eine Funktion mehr als 1 Rückgabe Wert braucht, eine Klasse schreiben muss oder, wenn es vom gleichen Datentyp ist in eine Liste packen muss und diese zurück gibt. Hab dann mal kurz überlegt, ist es gängig oder vom großen Nachteil wenn man sich einen Pointer schreibt. Hab es so gemacht.(nur ein Beispiel, hab es nicht in einer Arbeitsumgebung geschrieben, kann Syntaxfehler enthalten)
function void calc(String s1[], String s2[]){
if (s1 == null || s2 == null)
return;
s1[0] += "2";
s1[0] += "4";
}
function void egal(){
String s1[] = new String[1];
String s2[] = new String[1];
s1[0]="1+1=";
s2[0]="2+2=";
calc(s1,s2);
System.out.println(s1);
System.out.println(s2);
}
Am Ende kommt "1+1=2" und "2+2=4" raus. Das Beispiel ist blöd es geht nur um das Prinzip. Was passiert da: Ganz einfach ich instanziieren ein Array und übergebe nur den Speicherort bei der Funkion. Die Funktion muss zwangsläufig den gleichen Wert bearbeiten, was bei einer normalen Übergabe nicht der Fall ist.
1. Frage gibt es eine bessere Möglichkeit. (man beachte auch mit Verschiedenen datentypen und es sollte nicht vom Code her nicht viel länger sein).
2. Frage kann man den S***** so machen und was muss man alles beachten.
Ich hab zu dem Thema wenig (eigentlich gar nichts) gefunden. Vielleicht kann mir jemand mal zeigen wie er das dann löst.
Zuletzt bearbeitet: