FOR-Schleife Problem

  • Themenstarter Themenstarter javanewbie20
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
J

javanewbie20

Gast
Hallo,
hatte hier gestern schon nen Thread erstellt, aber den find ich dummerweise nicht wieder. Habs jetzt endlich hinbekommen auf den dämlichen Rechnern hier eclipse zu installieren und bin noch immer bei derselben Aufgabe:

"Erstellen Sie ein Programm, dass 20 Zeilen mit Sternchen ("*") ausgibt. Dabei sollen in der ersten Zeile 20 Sternchen, in der zweiten 19 usw. stehen.

Code:
for (int i=0; i<20; i++)
{
for(int h=0; h<20; h++)
{
System.out.print("*")
}
System.out.println("");
}

So sieht der Programmteil aus, aber irgendwie werden immer nur 20 Sternchen ausgegeben. Normalerweise sollte ja runtergezählt werden, aber er tuts einfach nicht und ich hab keinen Schimmer warum.
 
wie kann man bei sowas keinen blassen Schimmer haben?

> for(int h=0; h<20; h++)
> {
> System.out.print("*")
> }

hier wird eindeutig für jede der 20 Zeilen das gleiche ausgefüht,
h läuft immr von 0 bis 20 bzw. 19, deshalb siehst du immer gleichlange Zeilen

das war jetzt wirklich ein schwerer Gedankengang?

-----

eine andere Frage ist, wie man diese Schleife richtig schreibt, damit sie das richtige tut,
eigentlich aber auch offensichtlich: du musst die Länge der Schleife = die Anzahl der Wiederholungen modifizieren,
sie soll nicht immer von 0-19 laufen
sondern entweder von
0-19
0-18
0-17
...

oder alternativ genausogut
0-19
1-19
2-19
..

pro Zeilenausgabe hast du ja i zur Verfügung mit Wert 0, 1, 2, 3
das bietet sich also perfekt an, um es einzurechnen,

dass du darauf nicht selber kommst, ist schon schlimm genug, denn das war eigentlich die Aufgabe,
hoffentlich kannst du es nun aber zumindest alleine umsetzen..
 
Sorry, aber muss man mich direkt so anmachen? Es ist klar, dass es dir wesentlich leichter fällt da umzudenken, aber ich habe damit noch so meine Probleme. So Kommentare kannste dir deshalb gerne sparen, weil hilfreich ist das sicherlich nicht. Herablassend triffts da wohl eher ...

... Naja, trotzdem danke für die Hilfe.
 
Also ich finde schon, dass das sehr hilfreich war, was SlaterB da geschrieben hat. Er ist immer schnell und informativ.

Aber einen solchen Fehler nicht selbst zu erkennen ist auch in meinen Augen fragwürdig.
Ich denke mal, dass SlaterB dich hier nicht beleidigen, sondern zum selber denken anregen wollte, denn mit solchen "Problemleinchen" in ein Forum zu gehen ist unnötig.

Da schaut man mal nach, warum immer alles gleich ist, natürlich weil bei jedem erneuten Schleifenaufruf nichts verändert wird.

Also SlaterB, danke mal wieder für die Hilfe und "Gast", nimm dir solche Ratschläge zu Herzen, denn das ist eine Aufgabe, die man auf Anhieb hinbekommen sollte, sobald man weiß was Variablen und Schleifen sind.
 
Ich habe nicht gesagt, dass der Post von Slater mir nicht geholfen hat, aber die Kommentare zwischendurch empfinde ich als weniger hilfreich.

Ich hab vor knapp 2 Wochen angefangen mit java und das ist nach php meine erste ernsthafte Programmiersprache. Ist es da wirklich so abnormal die Gedankengänge noch nicht so drauf zu haben?

Außerdem ist das hier das Anfängerforum oder nicht? Wenn ich hier nicht meine Fragen stellen kann wo sonst ..?
 
Anonymous hat gesagt.:
Ich habe nicht gesagt, dass der Post von Slater mir nicht geholfen hat, aber die Kommentare zwischendurch empfinde ich als weniger hilfreich.

Ich hab vor knapp 2 Wochen angefangen mit java und das ist nach php meine erste ernsthafte Programmiersprache. Ist es da wirklich so abnormal die Gedankengänge noch nicht so drauf zu haben?

Außerdem ist das hier das Anfängerforum oder nicht? Wenn ich hier nicht meine Fragen stellen kann wo sonst ..?

Also wenn du schon PHP programmiert hast, dann hast du ja wohl schonmal programmiert, oder waren das alles nur Gedankenkonstrukte?
Dies hier ist ein JAVA-Anfängerforum, deine Frage ist aber absolut java-unabhängig 🙂
For-Schleifen gibt es eigentlich überall, grade wenn du ja schonmal programmiert hast....

Das Problem ist einfach nur, dass hier täglich massig Leute mit "Haus/Schul/Praktikumsaufgaben" kommen und diese schnell gelöst haben wollen ohne selbst was zu machen. Deine Frage ist genau solch eine Standardfrage.
Dein Problem löst sich eigentlich rein mit gesundem Menschenverstand, ich denke deswegen ein paar neckische Kommentare von Slater 😀

Nimm nicht alles so Ernst, man versucht dir ja zu helfen
 
eine solche Aufgabe nicht zu können ist inakzeptabel, falls du älter als 12 Jahre bist,

kannst über mich meckern wie du willst, ich sage nur die Wahrheit 😉
 
Jetzt lasst mal den armen kleinen, ich glaube er hats begriffen 😉.

Aber inakzeptabel ist das trotzdem, vorallem mit PHP-Kenntnissen.
 
javanewbie20 hat gesagt.:
"Erstellen Sie ein Programm, dass 20 Zeilen mit Sternchen ("*") ausgibt. Dabei sollen in der ersten Zeile 20 Sternchen, in der zweiten 19 usw. stehen.
Code:
for (int i=0; i<20; i++)
{
for(int h=0; h<20; h++)
{
System.out.print("*")
}
System.out.println("");
}
So sieht der Programmteil aus, aber irgendwie werden immer nur 20 Sternchen ausgegeben. Normalerweise sollte ja runtergezählt werden, aber er tuts einfach nicht und ich hab keinen Schimmer warum.
Vielleicht so :
Code:
int lines = 20;
for (int i = 1; i <= lines; i++) {
	int star = 0;
	System.out.print("Zeile: " + i + " ");
	for (int h = lines; h >= i; h--) {
		System.out.print("*");
		star++;
	}
	System.out.println(" " + star);
}
oder so:
Code:
int lines = 20;
for (int i = 1; i <= lines; i++) {
	int star = 0;
	System.out.print("Zeile: " + i + " ");
	for (int h = 0; h <= (lines - i); h++) {
		star++;
		System.out.print("*");
	}
	System.out.println(" " + star);
}

noch viel Spaß! :wink:
 
@Threadersteller

jeder hat am anfang Probleme mit dieser art von denken. Ging mir genauso, obwohl ich davor Visual Basic gemacht hab. Kann ja sein das dir jemand irngedwas falsch erklärt hat oder du in PHP nie schliefen gemacht hast. Lass dich also nicht entmutigen, die Reaktionen von den meisten hier ist ganz normal weil hier öfters Hausaufgaben und unüberlegte sachen gepostet werden.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben