Hallo liebe Community,
Ich möchte einige Variablen aus der main Methode ändern, mithilfe einer anderen Methode. Dabei soll die genutzte Methode void sein und die Ausgabe der neuen Variablen-Werte soll auch in der main Methode selbst erfolgen.
Zum Beispiel:
[CODE lang="java" title="Beispiel"]public class Aendern {
public static void main(String[] args) {
int a= 1;
// ...code
System.out.println("Ausgabe des veränderten Wertes von a");
}
// methode ohne return
}[/CODE]
Aber im Grunde funktioniert doch Java genau so nicht, oder? Deshalb gibt es doch Parameterübergabe und return in Java?
Leider ist das beste, was mir nach Recherchen eingefallen ist, die Nutzung eines AtomicIntegers, der das Problem vermeidet, dass eine Kopie erstellt wird.
Mein Lösungsvorschlag:
Leider muss ich dazu jedoch diesen Importieren...und ich glaube nicht das, dass im Sinne der Lösung ist :/
Leider fehlt mir auch jegliche Idee wie ich das ohne Konstante Felder, return oder Output in der aendere Methode realisieren könnte >.< Stehe leider total im Wald...
Über Hilfe würde ich mich riesig freuen
Vielen Dank!
Ich möchte einige Variablen aus der main Methode ändern, mithilfe einer anderen Methode. Dabei soll die genutzte Methode void sein und die Ausgabe der neuen Variablen-Werte soll auch in der main Methode selbst erfolgen.
Zum Beispiel:
[CODE lang="java" title="Beispiel"]public class Aendern {
public static void main(String[] args) {
int a= 1;
// ...code
System.out.println("Ausgabe des veränderten Wertes von a");
}
// methode ohne return
}[/CODE]
Aber im Grunde funktioniert doch Java genau so nicht, oder? Deshalb gibt es doch Parameterübergabe und return in Java?
Leider ist das beste, was mir nach Recherchen eingefallen ist, die Nutzung eines AtomicIntegers, der das Problem vermeidet, dass eine Kopie erstellt wird.
Mein Lösungsvorschlag:
Java:
package testUmgebung;
import java.util.concurrent.atomic.AtomicInteger;
public class Aendern {
public static void main(String[] args) {
int x = 1;
AtomicInteger a = new AtomicInteger(x);
int faktor1 = x + 1;
aendere(a, faktor1);
System.out.println("a: " + a);
}
static void aendere(AtomicInteger xToa, int faktor1) {
xToa.set(faktor1);
}
}
Leider muss ich dazu jedoch diesen Importieren...und ich glaube nicht das, dass im Sinne der Lösung ist :/
Leider fehlt mir auch jegliche Idee wie ich das ohne Konstante Felder, return oder Output in der aendere Methode realisieren könnte >.< Stehe leider total im Wald...
Über Hilfe würde ich mich riesig freuen
Vielen Dank!