Frage von halbleeresgals, 71

warum bleibt j = 0 und i wird immer 1 höher gezählt?

for (int i = 0; i < 50; i++) {
for (int j = 0; j < 50; i++) {
if (Math.abs(i - 25) + Math.abs(j - 25) > 25) 
{System.out.print(" ");
} else {
System.out.print("#");}}
System.out.println ();}}}
Antwort
von sarahj, 71

weil es nicht erhöht wird. Tippfehler.


Kommentar von halbleeresgals ,

wie kann ich das denn ändern

Kommentar von sarahj ,

aufwachen! die innere for-schleife mal genau anschauen!

Antwort
von honigteee, 60
{for (int j = 0; j < 50; j++)
Kommentar von halbleeresgals ,

omg bin ich blind :D

Kommentar von sarahj ,

genau, das meinte ich auch.

Kommentar von phigeek ,

Diese Fehler sehe ich tagtäglich bei meinen Lernenden. Das kann vom Code-Kopieren kommen, aber einfach auch ein Vertippser. Vier Augen sehen nun mal mehr als zwei. Hier schafft natürlich ein Forum wie dieses hier Abhilfe.

Doch auch ein eingespieltes Team-Programming (SCRUM oder eXtreme-Programming) kann hier gutes Leisten. Ich hatte einen Teamkollegen, mit dem ich Nachmittage lang zusammen programmierte und wir hatten bereits das Code-Review gespart ;-)

Vielleicht auch mal damit probieren:

// see https://github.com/pheek/javaSequencer import static eu.gressly.util.Sequencer.seq;
final int MAX = 49;
for(int i : seq(0, MAX)) {
  for(int j : seq(0, MAX)) {
    ...
  }
}
Je weniger Code, umso weniger Code-Kopien, umso weniger Fehlerquellen umso weniger Fehler ;-)
Kommentar von mepeisen ,

Kleiner Tipp: Benenne deine Variablen sinnvoll. Nicht einfach nur i und j, sondern beispielsweise "auessereZahl" und "innereZahl" o.ä.

Keine passende Antwort gefunden?

Fragen Sie die Community