12. Erweiterte (Enhanced) For-Schleife

Warum kann man nicht so einfach die folgende for-Schleife in eine enhanced-for Schleife umwandeln?

public static int forSchleife(int a) {//Vorgabe
       int ergebnis = 0;
       for (int i = 1; i <= a; i++) {
          ergebnis += i;
       }
    return ergebnis;
    }
Niveau 1
Schwierigkeitsgrad mittel
Zeit

3 Minuten

Antwort zu Frage 11: Programmablauf

Schlüsselwörter im Programm:

public class Main2 {
   static short k;    

   public static void main(String[] args) {
     short i, k;
     short imax = 10;
     for (i = 1; i < imax; i++) {
       for (k = 1; k < imax; k++) {
           if ((k == i) || (k == (imax - i))) {
              System.out.print("*");
                } 
            else { System.out.print(" "); // ein Leerzeichen 
                 }
       } // for k
       switch (i) {
          case 1:
          case 2:
          case 3:
          case 4:
              System.out.println("LINKS");
              break;
          case 6:
          case 7:
          case 8:
          case 9:
              System.out.println("RECHTS");
              break;
          default:
              System.out.println("MITTE");
       } // switch
     } // for i
    } // main
}

Konsolenausgaben des Programms

*       *LINKS
 *     * LINKS
  *   *  LINKS
   * *   LINKS
    *    MITTE
   * *   RECHTS
  *   *  RECHTS
 *     * RECHTS
*       *RECHTS

Antwort zu Frage 12:

Die variable i wird im Block der For-Schleife verwendet. In der Enhanced-For-Schleife gibt es aber keine Zählvariable die man verwenden könnte.