Klassen Main Methode in einer anderen Klasse aufrufen

Marc14

Mitglied
Hallo ich weiß es gab hierzu schon verschiedene Threads doch bei mir ist das alles ein bisschen anders.
Undzwar habe ich ein Programm das komplett nur eine Methode hat die Main Methode. Ich habe auch ein zweites Programm welches auch nur eine Methode hat die Main Methode.
Diese beiden Programme sind in unterschiedlichen Klassen.
Und jetzt zu meiner Frage, ich hatte vor diese beiden Methoden abwechselnd laufen zu lassen. Also erst Methode1 dann Methode2 dann wieder Methode1 usw.
Doch wie ist das Möglich?
LG Marc
 

BombaX

Mitglied
Also ich bin auch ein Anfänger, aber mach doch die zwei Main Methoden in extra Klassen oder Methoden und rufe sie über eine Schleife in der main auf.

Oder hab ich da was falsch verstanden?
 

Meniskusschaden

Top Contributor
Man kann so etwas machen:
Java:
public class Main1 {
    private static int zaehler = 0;

    public static void main(String[] args) {
        zaehler++;
        System.out.println("Main1: " + zaehler);
        if (zaehler < 3) {
            Main2.main(null);
        }
    }
}
Java:
public class Main2 {
    private static int zaehler = 0;

    public static void main(String[] args) {
        zaehler++;
        System.out.println("Main2: " + zaehler);
        if (zaehler < 3) {
            Main1.main(null);
        }
    }
}

Ich kann mir aber keinen Fall vorstellen, in dem das eine gute Idee ist.
 

Marc14

Mitglied
Nein du hast das richtig verstanden also ich habe 2 verschiedene Klassen ich nenne sie jetzt mal Klasse1 und Klasse2. Die beiden sind zwar ähnlich von der Ausführung her sind aber komplett unabhängig also wenn ich Klasse1 z.B löschen würde, wäre Klasse2 noch voll funktionsfähig. Und mein Problem ist das ich diese beiden Funktionen immer abwechselnd ablaufen lassen will. Also erst Klasse1, dann Klasse2 und dann wieder Klasse1, Klasse2 usw.
Nur ich habe keine Ahnung mehr ich hatte erst versucht sie in einem Code so ablaufen zu lassen doch das ist leider fehlgeschlagen. Und nun weiß ich nicht mehr weiter.
Kann mir einer bitte helfen oder einen Hinweis geben.
LG Marc
 

BombaX

Mitglied
Also einmal eine Funktion aus der Klasse eins und danach eine aus der Klasse 2?
Und diese endlos wiederholen?
Dann klatsch die 2 Methoden doch in eine endlose while Schleife.
 

BombaX

Mitglied
Da hast du recht.
Bin nur davon ausgegangen das der TS den Code jeweils in eine eigene Klasse gepackt hat.
Kommt halt ganz auf das jeweilige Problem.
 

JStein52

Top Contributor
Es würde so z.B. gehen:

Code:
public class Main3 {

    public static void main(String[] args) {
            while (true) {
                  Main1.main(args);
                  Main2.main(args);
            }
    }
}

Du machst eine dritte Klasse mit einer main-Methode und die ruft nun z.B. die anderen beiden in einer Endlosschleife abwechselnd auf.
 

Marc14

Mitglied
OK danke und wenn in den beiden Programmen eine Methode ist die es beendet. Läuft es dann trotzdem von vorne wieder weiter? Oder ist es dann beendet. Und ich glaube wenn ich das so mache ist es nicht so wie erwünscht aber ich kann es jetzt noch nicht ausprobieren.
 

Dukel

Top Contributor
Wieso kannst du das nicht testen? Erstelle einfache Klassen, die z.B. eine Ausgabe in die Konsole schreiben und dann zwei Sek. warten.
 
K

kneitzel

Gast
Also prinzipiell funktionieren so die Aufrufe, aber das Design ist zum davonlaufen!
- Evtl. beendet sich die main ohne dass die Applikation beendet ist? Dann könnte das ein kritische Ansatz sein!
- Wenn die Argumente benutzt werden, dann werden die immer und immer wieder geprüft - das wäre aber doch eine einmalige Prüfung.
- Ggf. werden Dinge immer wieder initialisiert obwohl dies unnötig ist (z.B. Setzen einer statischen Variabel).
- Ressourcen, die Closable implementieren werden ggf. nicht geschlossen ("Applikation beendet sich ja und da bereinigt sich dann alles" Ansatz) oder die werden geschlossen, was aber dann wiederum zu Problemen führen kann, weil System.in oder so geschlossen wurde.
- Und so weiter ...

Und natürlich ist es nicht wirklich lesbar - was passiert denn da in der Main? Und dann habe ich eine Applikation mit vielen main Funktionen in unterschiedlichen Klassen? Ist auch eher ungewöhnlich.

Wie wäre es, wenn Du uns mehr Details zu den beiden Applikationen und main Funktionen nennen würdest?

Normalerweise entwickelt man objektorientiert. Also hast Du Klassen, die irgendwas machen.
Dann werden diese Klassen verwendet. Und das lässt sich dann in einer main Funktion abbilden.

Also Du hast eine Klasse HangMan und eine Klasse ZahlenRaten. Dann könnte die neue main so aussehen:
Code:
public static void main(String[] args) {
  Scanner scanner = new Scanner(System.in); // Evtl. besser ein try with ressources
  while (true) {
    new HangMan(scanner).play();
    new ZahlenRaten(scanner).play();
  }
}

Wobei ich da dann über die args eher eine Logik erwarten würde: Soll HangMan gespielt werden? Soll ZahlenRaten gespielt werden? Soll es in einer Endlosschleife laufen?
 

JStein52

Top Contributor
Und mein Problem ist das ich diese beiden Funktionen immer abwechselnd ablaufen lassen will
Du kannst dir natürlich auch einfach eine Batch-Datei machen in der du abwechselnd die beiden Programme die ja scheinbar unabhängig voneinander sind startest. Oder müssen sie aus einem anderen Java-Programm heraus gestartet werden ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
D Compiler-Fehler Aufrufen einer Methode von Main Java Basics - Anfänger-Themen 4
D Von einer Methode auf eine lokale Variable in der Main zugreifen? Java Basics - Anfänger-Themen 15
B Problem bei dem erstellen einer Main Methode Java Basics - Anfänger-Themen 4
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
G Array in main Methode bilden und in einer Methode nutzen? Java Basics - Anfänger-Themen 11
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
G main Methode Java Basics - Anfänger-Themen 5
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
J main methode Java Basics - Anfänger-Themen 1
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
M String außerhalb der main-Methode Java Basics - Anfänger-Themen 4
scratchy1 ArrayOutOfBoundException in main-Methode Java Basics - Anfänger-Themen 17
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
M Maven Main-Methode Interface und Klasse Java Basics - Anfänger-Themen 2
G Instanzvariable in main-Methode verboten? Java Basics - Anfänger-Themen 3
M Objekt starten von der main-Methode Java Basics - Anfänger-Themen 1
A Methode aufrufen in main-Methode Java Basics - Anfänger-Themen 5
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
J Methode in main-Methode aufrufen Java Basics - Anfänger-Themen 5
TheMenox Methoden Auslagerung von Code aus der "main" Methode sinnvoll? Java Basics - Anfänger-Themen 70
S Methode auf Main zugreifen Java Basics - Anfänger-Themen 5
S Methoden main-Methode integrieren Java Basics - Anfänger-Themen 2
K Methoden Programm ohne Main Methode starten Java Basics - Anfänger-Themen 2
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
N Variablen Variable in Main deklarieren und in anderer Methode nutzen Java Basics - Anfänger-Themen 12
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
U Umschreiben ohne main methode ;-) Java Basics - Anfänger-Themen 8
A Fehlermeldung beim aufruf der main Methode Java Basics - Anfänger-Themen 17
F Threads Variable aus einem Thread in main Methode? Java Basics - Anfänger-Themen 9
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
V Arrays aus eigener Klasse erstellt, zuweisung aber spuckt Fehler in verbindung mit main Methode aus. Java Basics - Anfänger-Themen 3
M Exception von main Methode weiterwerfen? Java Basics - Anfänger-Themen 1
D main-Methode und Tread parallel ausführen Java Basics - Anfänger-Themen 0
A Was stimmt mit Main-Methode nicht? Java Basics - Anfänger-Themen 4
T In main-Methode Parameter übergeben Java Basics - Anfänger-Themen 3
R Methoden Main-Methode verhält sich in .jar anders als in Eclipse Java Basics - Anfänger-Themen 2
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
O Main-Methode static modifier umgehen Java Basics - Anfänger-Themen 10
P Verwirrung mit AWT Frame und main Methode Java Basics - Anfänger-Themen 19
T Threads Neuen Thread nicht aus main-Methode starten Java Basics - Anfänger-Themen 3
iB0T Main Methode Variablen übergeben Java Basics - Anfänger-Themen 6
H Applet - main()-Methode Java Basics - Anfänger-Themen 4
S Constructor und Main Methode Java Basics - Anfänger-Themen 3
N Methoden Main Methode Java Basics - Anfänger-Themen 7
B main methode ohne public Java Basics - Anfänger-Themen 5
E Methoden Methode in main-Methode ausführen Java Basics - Anfänger-Themen 3
R Fragen über Fragen, main-Methode und Co. Java Basics - Anfänger-Themen 32
1 Werte zur main Methode übergeben Java Basics - Anfänger-Themen 5
J Main-Methode Java Basics - Anfänger-Themen 14
B Erste Schritte ergebnis der funktion in der main-methode ausgeben Java Basics - Anfänger-Themen 7
T Klasse in Main Methode Java Basics - Anfänger-Themen 3
C Main Methode überschreibt Werte Java Basics - Anfänger-Themen 3
M andere Main Methode Java Basics - Anfänger-Themen 5
I Nur main-Methode über Konsole aufrufbar? Java Basics - Anfänger-Themen 3
J Programm in main Methode testen Java Basics - Anfänger-Themen 29
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
D main Methode? Java Basics - Anfänger-Themen 19
M Main methode innerhalb von Java aufrufen Java Basics - Anfänger-Themen 11
M Frage zu main Methode Java Basics - Anfänger-Themen 11
S Main Methode String... args Java Basics - Anfänger-Themen 2
S Main-Methode aus anderer Klasse heraus starten Java Basics - Anfänger-Themen 8
X Array von Methode in Main übergeben? Java Basics - Anfänger-Themen 11
G Immer mehr Threads beim Selbstaufruf der main-Methode Java Basics - Anfänger-Themen 3
K Variable von main- Methode in Untermethode "holen" Java Basics - Anfänger-Themen 3
A main Variable in Methode ansprechen Java Basics - Anfänger-Themen 4
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
N main Methode und String Java Basics - Anfänger-Themen 11
W Parameter für die main-Methode Java Basics - Anfänger-Themen 7
C Konstanten zu einfachen Berechnungen unterhalb Main Methode Java Basics - Anfänger-Themen 19
J arraylist ausserhalb der main Methode zugänglich machen (Elemente adden und updaten) Java Basics - Anfänger-Themen 4
A Fehlende Main-Methode? Java Basics - Anfänger-Themen 12
Z Funktionsaufruf in der main-Methode Java Basics - Anfänger-Themen 12
S Problem mit main Methode Java Basics - Anfänger-Themen 2
V Wofür steht das args / arguments in Main Methode Java Basics - Anfänger-Themen 4
I Fehlendes Argument in Main-Methode abfangen Java Basics - Anfänger-Themen 15
S main-Methode gibt unerwartetes Ergebnis aus Java Basics - Anfänger-Themen 4
M Parameter an main()-Methode Java Basics - Anfänger-Themen 6
M Unterschied main-Methode und Konstruktor Java Basics - Anfänger-Themen 13
Spin class und main Methode Java Basics - Anfänger-Themen 6
J unterprogramm in main-methode einbinden Java Basics - Anfänger-Themen 9
A Klassen: Ein Testprogramm mit der main Methode schreiben? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben