public class Schleifen_09_02_2021
{ int beispiel1;
  double beispiel2;
  double beispiel3;
    

  public Schleifen_09_02_2021()
  {  // Der Konstruktor hat hier eigentlich nicht viel zu tun. 
     beispiel1 = 17;
     beispiel2 = 3.1415926;
     beispiel3 = -5.389; 
     jetztMachMalWas(); // Aufruf der Methode, damit es mit new() gleich losgeht.
  }

  public int maximum(int zahl1, int zahl2)
  {  if(zahl1 > zahl2)
          return zahl1;
     else return zahl2;
  }  

  public boolean istGerade(int zahl)
  {  if(zahl % 2 == 0)
          return true;
     else return false;
     // Noch kuerzer: return (zahl % 2) == 0;
  }
  
  public int collatzAnzahl(int start)
  { // 3A + 1 - Problem
    int zahl = start;
    int anzahl = 1;
    while (zahl != 1) 
    {    if (zahl % 2 == 0)
              zahl = zahl / 2;
         else zahl = 3 * zahl + 1;    
         anzahl++;
    }
    return anzahl;
  }  
  
  public double f(double x)
  {  return x*x; }
  
  public double mittelwert(double zahl_1, double zahl_2)
  {  return (zahl_1 + zahl_2) / 2; }

  public boolean positiv(double zahl)
  {  if (zahl > 0)
          return true;
     else return false;
     // Noch kuerzer: return (zahl > 0);
  }

  public void jetztMachMalWas()
  { if (istGerade(beispiel1)) 
         System.out.println("Die Zahl " + beispiel1 + " ist gerade.");
    else System.out.println("Die Zahl " + beispiel1 + " ist ungerade.");
    
    System.out.println("Das Maximum der Zahlen 17 und 23 ist " + maximum(17, 23) + ".");
    
    int collatzLaenge = collatzAnzahl(beispiel1);
    String ausgabe = "Mit dem Startwert " + beispiel1;
    ausgabe = ausgabe + " ist die Folgenlaenge " + collatzLaenge + ".";
    System.out.println(ausgabe);
    
       
    double x;
    x = beispiel2;
    double f_von_x = f(x); // Funktionsergebnis wird der Variablen f_von_x zugewiesen.
    ausgabe = "Der Funktionswert von f mit f(x) = x^2 (x hoch 2) ";
    ausgabe = ausgabe + " an der Stelle x = " + x;
    ausgabe = ausgabe + " ist " + f_von_x + ".";
    System.out.println(ausgabe);
    
    
    System.out.println("Die Zahl x ist " + x + ".");
    System.out.print("Diese Zahl ist ");
    if (positiv(x)) 
         System.out.println("positiv.");
    else System.out.println("nicht positiv.");

    x = beispiel3;
    System.out.println("Die Zahl x ist " + x + ".");
    System.out.print("Diese Zahl ist ");
    if (positiv(x)) 
         System.out.println("positiv.");
    else System.out.println("nicht positiv.");
    
    System.out.println("Der Mittelwert der beiden Zahlen ist " + mittelwert(beispiel2, beispiel3));
    // Der Funktionswert kann auch direkt ausgegeben werden.
  } // Ende von jetztMachMalWas();  
}  // Ende der Klasse
