Von For in While umschreiben

Dirkmk

Mitglied
Hallo zusammen,
ich bastle jetzt schon eine ganze Weile an der Umstellung folgenden Codes und möchte die Schleife, die mit FOR realisiert ist, in einer WHILE-Schleife nachvollziehen damit ich lerne wie man beide Schleifentypen anwendet.

Code:
	    int n = 3;

	    for (int i=1;i<=n;i++) {
	      for (int j=1;j<=i;j++)
	        System.out.print("*");
	      System.out.println("");
	    }

Im Grunde entsteht dann je nach dem wie groß "n" ist ein Dreieck


n = 3;
Ausgabe >>>

Code:
*
**
***

ich bekomme es irgendwie nicht hin.

Vielen Dank im Voraus

Gruß
Dirk
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Und was hast du probiert?

Welcher Fehler kommt?

Kennst du den Aufbau einer While schleife?
 
G

Gast2

Gast
du machst in deiner Schleife bereits nach jedem * einen Zeilenumbruch.
 
Zuletzt bearbeitet von einem Moderator:

Dirkmk

Mitglied
Wie ich mit Zusatzausgaben der Variablen endecken konnte, wird in den beiden FOR-Schleifen erreicht

i=1
j=1

i=2
j=1
j=2

i=3
j=1
j=2
j=3

es wird also i um 1 hochgezählt, dann setzt die innere Schleife ein und zählt in folge so lang j bis i erreicht ist. Dadurch entsteht dann auch das Dreiecksmuster bei der Ausgabe.


Mein Test:

Code:
		int n = 3;
		int i = 1;

			while (i <= n) {									
				int j = 1;								
				while (j <= i) {
					j++;					
				}
			System.out.println("*");
			i++;
			}
		System.out.println ();

Der Code ist natürlich falsch ich hab auch so viel herumprobiert, dass ich gar nichts genaueres sagen kann. Ich stehe auch noch extrem am Anfang und mach das jetzt erst 5-6 Tage sehr intensiv. Ich hab ein Buch bekommen "Grundlagen im Programmieren in Java 7".

OK, beim Testen herausgefunden:

Code:
		int n = 3;
		int i = 1;

			while (i <= n) {
				System.out.println();
				int j = 1;						
				while (j <= i) {
					System.out.print("*");
					j++;					
				}
			i++;
			}

ok, Ergebnis stimmt, aber noch hab ich nicht verstanden warum jetzt so ... Ich nehme an, dass die WHILE-Schleife andersherum als die FOR-Schleife geschrieben wird, also bei WHILE scheint es ja von innen nach aussen zu laufen, oder?

Hmmm, irgendwie checke ich das noch nicht genau.
 
Zuletzt bearbeitet:

Dirkmk

Mitglied
OK, Code-Vergleich

Code:
	    int n = 3;

	    for (int i=1;i<=n;i++) {
	      for (int j=1;j<=i;j++)
	        System.out.print("*");
	      System.out.println("");
	    }
---------------------------------------------
	int n = 3;
	int i = 1;
	while (i <= n) {
		System.out.println();
		int j = 1;						
		while (j <= i) {
			System.out.print("*");
			j++;					
		}
	i++;
	}

Ist denn meine WHILE jetzt ordentlich / sauberer Code zu oben bei FOR oder doch wirr und wenn richtig, warum kann die Printline oben stehen und wie verläuft jetzt eigentlich in beiden Schleifen so richtig die Datenverarbeitung?

Fragen über Fragen ;)
 
Zuletzt bearbeitet:
S

SlaterB

Gast
stehen b++; und c++; für die Erhöhung von i und j?..

gleich mit einer doppelten Schleife anzufangen ist unnötig kompliziert,
wie wäre es nur einer festen Schleife von 0 bis 3?

> von innen nach aussen zu laufen
ist bisschen unverständlich

eine Schleife wiederholt, und sie prüft Abbruchbedingungen,
das kann man doch einsehen und auch am Code erkennen was wann passiert

edit:
> warum kann die Printline oben stehen
kann es im anderen Fall denn nicht?
schau an was damit passiert, wie wo genau ist ein Zeilenumbruch nötig, darf vorher einer passieren,
ist der letzte wichtig?
das hat mit der Art der Schleife nichts zu tun
 

Dirkmk

Mitglied
@ Slater,
ich hab den Code umgeschrieben udn das vergessen. Ich hatte andere Variabeln verwendet und wollte es vereinheitlichen.

Ich ändere das jetzt ab
 
G

Gast2

Gast
eine for-Schleife erkennt am Anfang die Bedingungen und führt den Code dann solange aus, bis die Bedingung erreicht ist.
eine while-Schleife fragt nach jedem Schleifendurchlauf die Bedingung ab, ist diese erfüllt, wird der Code nicht mehr ausgeführt.

Java Blog Buch : 02.08 Schleifen

EDIT: ich entschuldige mich schonmal im Voraus für die schlechte Beschreibung^^
 

Dirkmk

Mitglied
@ jurom,
das ist richtig und das habe ich mir auch schon angeeignet.

Eigentlich will ich nur mal den sauberen Code für WHILE bei dem Code

Code:
	    int n = 3;

	    for (int i=1;i<=n;i++) {
	      for (int j=1;j<=i;j++)
	        System.out.print("*");
	      System.out.println("");
	    }

sehen, damit ich es komplett nachvollziehen kann. Darum ging es eigentlich mir eigentlich ursprünglich.

Gruß und Dank
 
G

Gast2

Gast
Eigentlich will ich nur mal den sauberen Code für WHILE bei dem Code
sehen, damit ich es komplett nachvollziehen kann. Darum ging es eigentlich mir eigentlich ursprünglich.

na den hast du ja jetzt;)
wüsste nicht, was man da jetzt noch groß verbessern sollte als Anfänger:), und du hast ihn selbst geschrieben, was wohl besser für das Verständnis ist^^

P.S.: Für Danke gibt es auch einen Button:D
 

Dirkmk

Mitglied
Das Danke gibt es natürlich ... an alle :D

Mir geht es halt vorrangig auch darum, dass ich nicht lgeich am Anfang Codes produziere, die zwar in dem speziellen Fall funtkionieren, später aber dann zu Probleme führen, weil sie unsauber sind. Deshalb versuche ich ins Detail nachzuvollziehen und will mir nicht gleich einen schlechten Programmierstil aneignen.

Falls einer vielleicht Bock hat die Umformung aus seiner Perspektive nochmals zu präsentieren, wäre ich sehr erfreut. ;)

Gruß
Dirk
 

Dirkmk

Mitglied
gleich mit einer doppelten Schleife anzufangen ist unnötig kompliziert,
wie wäre es nur einer festen Schleife von 0 bis 3?

Ist schon klar und es ist für mich auch noch kompliziert, manchmal kann ich es nur bedingt nachvollziehen. Ich arbeite dei Aufgaben des Buches ab und da bin ich gerade an dem Punkt geschachtelter Schleifen.

Aber könnte man das Ergebnis denn mit aufeinander folgenden Schleifen auch erreichen? Wenn ja, wie? Wei gesagt, je mehr Codes ich sehe, um so verständlicher werden für mich die Möglichkeiten. Die Lösungen der Buchaufgaben sind halt stetig sehr elegant und kurz gelöst, was sehr verwirrend sein kann, wenn man sich erstmal an Programmabläufe gewöhnen will. Andererseits sind auch Bespiele und Lösungen da, die ich viel komplizierter angegangen bin. Es ist schon sehr interessant auch zu sehen, wie einfach man gewisse Ergebnisse erreichen kann. ;)
 
S

SlaterB

Gast
Ich arbeite dei Aufgaben des Buches ab und da bin ich gerade an dem Punkt geschachtelter Schleifen.
trotzdem hat man einen Kopf zum Denken, der Reihe nach vorzugehen,
und wenn man eine Schleife nicht kennt, dann einfach anfangen

Aber könnte man das Ergebnis denn mit aufeinander folgenden Schleifen auch erreichen? Wenn ja, wie?
mehrere hintereinander bringen hier nichts, aber man könnte auch eine Schleife laufen lassen und aus dem Index kompliziert rechnen,
erst den Index bis 1, solange Zeichen malen, dann Zeilenumbruch,
danach den Index bis 3, solange Zeichen malen, dann Zeilenumbruch,
usw.
geht mit Variablen, neuesZiel = altesZiel + lauflaenge +1 usw., lauflaenge nebenbei auch erhöhen,
natürlich nicht jede Runde, sondern nur beim Umschalten, also etwa dann wenn der Zeilenumbruch ausgegeben wird
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M While-Schleife mit Wartezeit Java Basics - Anfänger-Themen 15
Ranger229 Endless loop in while Schleife Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
Ostkreuz While Schleife neustarten Java Basics - Anfänger-Themen 20
S Erste Schritte do-while Schleife Münzwurf Java Basics - Anfänger-Themen 1
S while Schleife Taschenrechner Java Basics - Anfänger-Themen 1
P Best Practice While loop schleife Java Basics - Anfänger-Themen 5
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
A Erste Schritte Aufgabe mit while Schleife Java Basics - Anfänger-Themen 11
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
Say do-While Code Ausführung Java Basics - Anfänger-Themen 3
Say do-while Syntak Java Basics - Anfänger-Themen 3
A Return in While Schleife Java Basics - Anfänger-Themen 6
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
J do..while Schleife Java Basics - Anfänger-Themen 14
W Wiederkehrende Konsolen-Anzeige mit do-While?! Java Basics - Anfänger-Themen 33
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
B Zuweisungen und Methodenaufrufe in Bedingung der while Schleife? Java Basics - Anfänger-Themen 2
JavaBeginner22 Würfeln bis 6 while Schleife Java Basics - Anfänger-Themen 13
G while.next() Verständnisfrage Java Basics - Anfänger-Themen 16
L while Schleife mit 2 Bedingung endet nicht Java Basics - Anfänger-Themen 3
D Array mit while-schleife Java Basics - Anfänger-Themen 12
B do while Schleife Java Basics - Anfänger-Themen 3
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
SergioCK Do while Schleife wiederholen Java Basics - Anfänger-Themen 14
Informatikf Methoden While Schleife Java Basics - Anfänger-Themen 3
M While Schleife? Java Basics - Anfänger-Themen 4
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
A Wie schaffe ich das eine while Schleife addiert danach subtrahirt? Java Basics - Anfänger-Themen 1
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
J for /while Schleife Java Basics - Anfänger-Themen 5
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
S Do-While-Schleife Java Basics - Anfänger-Themen 2
S While Schleife Java Basics - Anfänger-Themen 4
S Do-While Schleife Java Basics - Anfänger-Themen 6
J Von While zu for Java Basics - Anfänger-Themen 42
G While/If Programm Java Basics - Anfänger-Themen 2
L String in Do-While-Schleife Abbruchkriterium Java Basics - Anfänger-Themen 1
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
G Flussdiagramm-Do while Java Basics - Anfänger-Themen 4
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
B Verschachtelung von For-Schleife in While Schleife Java Basics - Anfänger-Themen 14
G while schleife Java Basics - Anfänger-Themen 11
G while schleife mit array Java Basics - Anfänger-Themen 12
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
I Do-While / Kalkulator / Bitte um Hilfe Java Basics - Anfänger-Themen 9
G While schleife Java Basics - Anfänger-Themen 2
mor16Euro Erste Schritte Wie nennt man eine While oder For schleife die nie Ausgeführt wird Java Basics - Anfänger-Themen 5
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
B OOP While Schleife läuft Endlos durch externen aufruf Java Basics - Anfänger-Themen 2
N while Schleife wird nicht beendet, obwohl Sie hätte breaken sollen Java Basics - Anfänger-Themen 4
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
O Erste Schritte Zahlendreieck mit While Java Basics - Anfänger-Themen 2
D Break Sprungmarken Problem einer While True in While True Java Basics - Anfänger-Themen 6
A Erste Schritte while-Schleife Java Basics - Anfänger-Themen 38
W While-Loop unterbrechen Java Basics - Anfänger-Themen 4
X While Do schleife funtioniert nicht Java Basics - Anfänger-Themen 5
J 2 "while"-Anweisungen in einer do-Schleife? Java Basics - Anfänger-Themen 4
W while Schleife und Bedingung Java Basics - Anfänger-Themen 11
T While Schleife funktioniert nicht Java Basics - Anfänger-Themen 14
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
J While Schleife Java Basics - Anfänger-Themen 19
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Methode mit While-Schleife und If-Bedingung und Array-Initialisierung Java Basics - Anfänger-Themen 4
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
E Threads Thread in While-Schleife nur einmal starten Java Basics - Anfänger-Themen 2
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
R While-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 24
b1ck while-Schleife Java Basics - Anfänger-Themen 10
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
kilopack15 DoWhile-Schleife als While-Schleife darstellen Java Basics - Anfänger-Themen 9
A While-Schleife funktioniert nicht! Java Basics - Anfänger-Themen 33
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
E Alphabet mit einer while Schleife ausgeben Java Basics - Anfänger-Themen 3
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
F Reached end while parsing Java Basics - Anfänger-Themen 6
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
$ Multiplikations-Rechner mit while Schleife Java Basics - Anfänger-Themen 8
T Variablen Var aus While-Schleife abfragen -.-' Java Basics - Anfänger-Themen 9
snipesss Schlüsselworte While Schleife Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben