4. Codetransformation (while Schleife)

Submitted by javafrage on Fri, 08/16/2013 - 18:56

Die Methode forSchleife(int a) implementiert eine arithmetische Reihe, die für die Eingaben 0 bis 4 die folgenden Ausgaben erzeugt:
Eingabe: 0 1 2 3 4
Ausgabe:

  • 0
  • 1=1
  • 3=1+2
  • 6=1+2+3
  • 10=1+2+3+4
public class ArithmetischeReihe {

 public static void main(String[] args) {// nur zum Testen
 int c;
 for (int a = 0; a <= 5; a++) {
   c = forSchleife(a);
   System.out.println(a + ":" + c);
   c = whileSchleife(a);
   System.out.println(a + ":" + c);
   } // Ende for
 } // Ende Methode main

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

Transformieren Sie die Methode forSchleife(int a) in eine gleichwertige Methode whileSchleife(int a) die, die gleichen Ergebnisse mit einer while Schleife erzeugt. Nutzen Sie den folgenden Quellcode:

public static int whileSchleife(int a) {
   int ergebnis = 0;

   return ergebnis;
}

Niveau 1
Schwierigkeitsgrad mittel
Zeit 5 Minuten

Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)

Antwort zu Frage 3: Codetransformation switch-case

public class Transformation {
     public static void main(String[] args) { 
        caseVerzweigung(3); 
        ifVerzweigung(3); 
   }

   public static void drucke(String st) { System.out.println(st);}
   
   public static void caseVerzweigung(int s) {
      switch (s) {
         case 2:
         case 4:
            drucke("gerade");
            break;
         case 1:
            drucke("eins");
            break;
        case 3:
            drucke("drei");
            break;
       default:
            drucke("unbekannt");
      } // End switch
   } //Ende Methode caseVerzweigung
   
   public static void ifVerzweigung(int s) {
     // Lösung hier eintragen  
     for (s = 0; s < 6; s++) { //for Schleife nur zum Testen
        if ((s == 2) || (s==4)) drucke("gerade");
           else if (s==1) drucke("eins");
           else if (s==3) drucke ("drei");
           else drucke("unbekannt");
       	}
   } // Ende Methode ifVerzweigung
}// Ende Klasse Transformation