Erste Schritte Dynamische Anzahl von verschachtelten Schleifen

Pablo

Mitglied
Hallo!
Ich bin auf der Suche nach einer Möglichkeit, die Anzahl der verschachtelten Schleifen dynamisch zu gestallten.
Beispiel bei einer Anzahl von 3

Java:
for (int a = 1; a <= x ;a++ ) {
    for (int b = 1; b <= x ;b++ ) {
        for (int c = 1; c <= x ;c++ ) {
        }
    }       
}
oder 5
Java:
for (int a = 1; a <= x ;a++ ) {
    for (int b = 1; b <= x ;b++ )  {
        for (int c = 1; c <= x ;c++ )  {
            for (int d = 1; d <= x ;d++ ) {
                for (int e = 1; e <= x ;e++ )  {
                }
            }
        }
    }       
}

... mir ist klar, dass es sich nicht so wie ich es beschrieben habe realisieren lässt. Wahrscheinlich irgendwie über einen wiederholten Methodenaufruf. Habe nur keine Ahnung wie!
Vielen Dank schon mal.
Ciao Pablo
 
Zuletzt bearbeitet von einem Moderator:

InfectedBytes

Top Contributor
Erklär doch mal was du damit erreichen willst.
Wenn wir wissen was genau damit bezwecken willst, können wir dir besser helfen.

p.s. nutz doch bitte die
Java:
 tags für deinen code
 

AntiMuffin

Bekanntes Mitglied
Hallo,
dein Problem kannst du mit Rekursion angehen:

Java:
public static void main(String[] args)
	{
       forloop(
	   10, 
	   0,
	   5,
	   new Runnable(){
		   public void run(){
			   //Was passieren soll
			   System.out.println("x");
			   
		   }
		   
	   });
	}
	
	private static void forloop(final int count,int loopCount,final int maxLoopCount,final Runnable action){
		loopCount++;
		for(int i = 1 ; i < count; i++){
			if(loopCount <= maxLoopCount){
			  forloop(count , loopCount,maxLoopCount, action);
			}else{
			  action.run();
			}
		}
		
	}
Sollte irgendwie so aussehen, hab nicht getestet ob das Funktioniert bzw. die richtige Anzahl an durchlaufen hat.

Gruß,
AntiMuffin
 

Saheeda

Top Contributor
@AntiMuffin

Ich verstehe an deinem Beispiel zwei Sachen nicht:
1. Warum benutzt du Runnable?

2. Erzeugst du nicht eine Art Schneeball-Effekt?
Wenn count beispielsweise gleich 5 ist, dann rufst du in der Schleife 5 weitere Mal die Methode auf. Und dann in jedem Aufruf wieder 5 weitere und so weiter.
 

AntiMuffin

Bekanntes Mitglied
1. Weil ich die Funktionalen Interfaces nicht auswendig kenne und ich irgendwie einen Sinn haben sollte, ich wollte einfach was aufrufen ^_^
2. Naja ist halt ein Rekursiver Aufruf. Ja jede schleife wird dann immer 5mal aufgerufen, wie bei dem Beispiel von @Pablo, dabei wird action 5^n mal aufgerufen, wobei n die Anzahl von Schleifen ist. In meinem Beispiel wäre es natürlich besser einfach eine Schleife zu deklarieren die 5^n bzw count^n mal durchläuft. Aber ich wollte Ihm einen Ansatz geben die Schleifenanzahl Dynamisch zu erstellen, auch wenn man dies wahrscheinlich einfacher lösen kann, aber ich kannte ja das eigentliche Problem nicht.
 

Pablo

Mitglied
Hallo AntiMuffin!
Also ich möchte gerne in meiner App in einer chemischen Formel mit mehreren Elementen überprüfen, welche Oxidationsstufen der einzelnen Elemente in Frage kommen. Hierbei gilt ja, dass die Landung der Formel (also Summe aus allen Elementen) dabei in der Summe immer 0 sein muss!
Beispiel:
Mögliche Oxidationsstufen von Wasserstoff (H) = -1 und 1
Mögliche Oxidationsstufen von Sauerstoff (O) = -2 und -1
Mögliche Oxidationsstufen von Schwefel (S) = -2, 2, 4, und 6
Diese Werte müssen als statische Daten (z.B. als enum oder Konfig Datei) hinterlegt werden, da sie immer gleich sind! Als Beispiel habe ich nur drei Elemente rausgesucht. Später möchte ich natürlich das ganze Periodensystem in der Datenbank haben.
Jetzt die zu überprüfende Formel die vom Benutzer eingegeben wird:
H[SUB]2[/SUB]SO[SUB]4[/SUB] (Schwefelsäure). Die Ladung der Schwefelsäure ist nach außen 0
Jetzt soll überprüft werden, welche und (falls vorhanden) wie viele Möglichkeiten es hier gibt.
Also H ist zweimal vorhanden, S einmal und O viermal.
In diesem Fall, bei 3 Elementen, könnte ich (theoretisch) mit drei ineinander verschachtelten Schleifen alle möglichen Kombinationen abfragen!
Ich fange mal mit der ersten Möglichkeit an (also alle Zähler aller Schleifen auf 1):
H -1, O -2 und S -2
Als Summe für H[SUB]2[/SUB]SO[SUB]4 [/SUB]würde heraus kommen: 2*-1 + 1*-2 + 4*-2 = -12! Das passt schon mal nicht. Wie gesagt, die Formel muss ja nach außen die Ladung 0 haben.
Irgendwann würde man dann bei dieser Möglichkeit landen
(Zähler erste Schleife (H): 2 ; Zähler zweite Schleife (O): 1 ; Zähler dritte Schleife (S): 4):
H 1, O -2 und S 6
Als Summe für H[SUB]2[/SUB]SO[SUB]4 [/SUB]würde heraus kommen: 2*1 + 1*-2 + 4*6 = 0! Das passt ! J
Mein Problem ist jetzt, das ich ja mit variablen Formeln arbeiten möchte. Also zum Beispiel auch mit H[SUB]2[/SUB]O (2 Elemente) oder KSCN (4 Elemente). Da kann ich mit meinen 3 statischen Schleifen nichts anfangen. L
Deswegen brauche ich eine Methode, die sich selber aufruft oder so etwas!
P.S. Die Elemente habe ich bereits aus der Formel ausgelesen und in ein zweidimensionales String-Array gepackt!
arrElement [AnzahlElemente][2] // zweite Dimension bezieht sich auf Name und Anzahl des Elements (Index)
arrElement [1][1] = „H“, arrElement [1][2] = „2“,
arrElement [2][1] = „O“, arrElement [2][2] = „4“,
arrElement [3][1] = „S“, arrElement [3][2] = „1“,



Vielen Dank!
Ciao Pablo
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
districon Rekursion und Dynamische Programmierung Allgemeine Java-Themen 2
hello_autumn Statistische/dynamische Tests Allgemeine Java-Themen 10
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
J Dynamische Rückgabewerte Allgemeine Java-Themen 2
K Dynamische Webseiten auslesen Allgemeine Java-Themen 6
S Variablen Dynamische Arrays Allgemeine Java-Themen 2
N Dynamische Objekte / DB Allgemeine Java-Themen 5
B dynamische Java Slideshow Allgemeine Java-Themen 4
SuperSeppel13 Dynamische Bibliotheken einbinden Allgemeine Java-Themen 16
B Script Problem "Dynamische Datenstruktur" Allgemeine Java-Themen 13
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
ModellbahnerTT Dynamische Programmierung, komme nicht weiter.... Allgemeine Java-Themen 15
C dynamische imports? Allgemeine Java-Themen 13
hdi dynamische return-Werte Allgemeine Java-Themen 15
M JUnit und dynamische Tests Allgemeine Java-Themen 11
X dynamische bindung - Typsystem :?: Allgemeine Java-Themen 5
C dynamische variablen Namen! Allgemeine Java-Themen 4
D dynamische Objekte erzeugen? Allgemeine Java-Themen 16
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
R Dynamische Sorten-Prüfung? Allgemeine Java-Themen 8
F dynamische ArrayListen? Allgemeine Java-Themen 8
C kann man dynamische variablen namen vergeben? Allgemeine Java-Themen 2
H "dynamische Ladegrafik" Allgemeine Java-Themen 2
C Dynamische Varibalen Allgemeine Java-Themen 3
C dynamische Vererbung Allgemeine Java-Themen 6
BeginnerJava Anzahl der 5 % - Zuwächse ausgeben Allgemeine Java-Themen 6
M Wie übergebe ich den Zähler für die Anzahl Rekursionsschritte korrekt? Allgemeine Java-Themen 2
S BlockingQueue mit dynamischer Anpassung der Anzahl von Producer und Consumer Threads Allgemeine Java-Themen 1
S Iterable<?> anzahl der Element Allgemeine Java-Themen 14
M Java- Bild gewissen Anzahl von Sekunden anzeigen?! Allgemeine Java-Themen 4
F Best Practice Große Anzahl an Objekten speichern und lesen Allgemeine Java-Themen 19
M Relative Anzahl an verschachtelten Forschleifen Allgemeine Java-Themen 8
The Pi Anzahl der Gewichtscheiben berechnen Allgemeine Java-Themen 11
P Threads Parallelisierte DB-Abfragen mit variabler Anzahl an Threads Allgemeine Java-Themen 4
Soloeco BubbleSort Anzahl der Vertauschungen Allgemeine Java-Themen 9
J Anzahl geöffneter Plugins Allgemeine Java-Themen 3
A Anzahl an Threads Systemweit Allgemeine Java-Themen 2
J Anzahl von Möglichkeiten zur Verteilung von Kugeln in Behälter Allgemeine Java-Themen 3
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
R Int werte vergleichen und Anzahl Paare ausgeben Allgemeine Java-Themen 4
L Ermitteln der Anzahl an Lösungen von quatratischen Gleichungen (Sieb von Atkin) Allgemeine Java-Themen 1
L Anzahl der Tage eines Monats Allgemeine Java-Themen 3
P Auf die Anzahl der Joins achten beim WS design Allgemeine Java-Themen 1
J Anzahl der Zeichen bei Eingabe begrenzen Allgemeine Java-Themen 5
S Zur Laufzeit Klasse mit einer anzahl von X Objekten erstellen Allgemeine Java-Themen 5
M Eingabe von Arrays geht über gewünschte Anzahl hinaus Allgemeine Java-Themen 2
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
P Anzahl vo Einträgen in verschiedenen Sets Allgemeine Java-Themen 3
R Anzahl der gerade gedrückten Tasten Allgemeine Java-Themen 6
J ermitteln der Anzahl der Monate Allgemeine Java-Themen 7
M Anzahl der Durchläufe einer Funktion errechnen Allgemeine Java-Themen 6
G Anzahl Primzahlen im Intervall Allgemeine Java-Themen 3
X Textdatei auf gewünschte Anzahl der Zeilen kürzen Allgemeine Java-Themen 2
M Anzahl Farbwerte (RGB) im Array speichern - Problem Allgemeine Java-Themen 13
N variable Anzahl von Objektinstanzen zur Laufzeit erstellen Allgemeine Java-Themen 4
D unbekannte Anzahl checkboxes Allgemeine Java-Themen 2
TiME-SPLiNTER Unbekannte Anzahl serialisierter Objekte lesen Allgemeine Java-Themen 2
Iron Monkey Anzahl der Monate ermitteln Allgemeine Java-Themen 17
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
R ArrayList -- Maximale Anzahl an Elementen Allgemeine Java-Themen 2
O Große Anzahl Bilder laden Allgemeine Java-Themen 7
S Array: Anzahl Elemente mit best. Wert zählen Allgemeine Java-Themen 4
V Java-Objekt. wie groß maximal ? anzahl der einträge Allgemeine Java-Themen 4
M Aus Anzahl Tagen Datum ermitteln Allgemeine Java-Themen 8
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
T Anzahl Tage zwischen zwei Daten - Stunde fehlt? Allgemeine Java-Themen 2
S Anzahl der Stunden in Excel Datei schreiben Allgemeine Java-Themen 2
G Anzahl an Tagen auf Datum addieren Allgemeine Java-Themen 4
MQue Anzahl der Ziffern Allgemeine Java-Themen 13
G Anzahl Tage in Datum umwandeln Allgemeine Java-Themen 13
MQue Anzahl der Kommastellen Allgemeine Java-Themen 6
L Anzahl Tage zwischen zwei Kalenderdaten Allgemeine Java-Themen 5
F Anzahl der nachkommastellen bestimmen nur wie? Allgemeine Java-Themen 10
M Aktualisieren eines Chatprofils (Anzahl Minuten) Allgemeine Java-Themen 4
G Variable Anzahl JTextfleder Allgemeine Java-Themen 3
S Bandbreite/Anzahl Pakete messen Allgemeine Java-Themen 3
V String formatiert ausgeben ( gleiche Anzahl von Ziffern ) Allgemeine Java-Themen 5
padde479 Anzahl Methodenaufrufe Allgemeine Java-Themen 7
J Matrix mit unterschiedlicher Anzahl von Spalten pro Zeile? Allgemeine Java-Themen 4
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
W PrepareStatement und Anzahl der Datensätze Allgemeine Java-Themen 2
rambozola anzahl zeichen in konsole eclipse begrenzt? Allgemeine Java-Themen 5
G anzahl "verwendeter" elemente eines arrays ermitte Allgemeine Java-Themen 2
M Anzahl der Threads pro Programm? Allgemeine Java-Themen 3
R java.lang.String maximale Anzahl der Zeichen Allgemeine Java-Themen 7
V Anzahl der Zeilen in einem File Allgemeine Java-Themen 3
K anzahl laufender Threads Allgemeine Java-Themen 3
8u3631984 Jacoco Testcoverage bei Abstracten Klassen in verschachtelten Modulen Allgemeine Java-Themen 6
Meeresgott Effizientester Weg um nach der Value einer verschachtelten Map aufzulösen Allgemeine Java-Themen 5
K Serialisierung einer verschachtelten Datenstuktur Allgemeine Java-Themen 9
B Auslagerung von verschachtelten Schleifen Allgemeine Java-Themen 11

Ähnliche Java Themen

Neue Themen


Oben