Aufgabe zu Methoden

enra01

Neues Mitglied
Wir haben eine Aufgabe bekommen 🙂
Aufgabe 1 konnte ich lösen jedoch 2 und 3 nicht!
Bitte um Hilfe, bin gerade etwas am verzweifeln


Java:
// Aufgaben:
// 1. Kommentiere die durch // markierten Zeilen sinnvoll
// 2. Untersuche, was die Methode g bewirkt
// 3. Erstelle eine Methode "hoch", welche die Potenzen a^b berechnet
//    und das Ergebnis zurückgibt sowie einen Aufruf im Hauptprogramm

public class Methoden {

  // Anfang Variablen
  static int a=1, b=2, c=3;             // globale statische Variablen
  // Ende Variablen


  // Methode ohne Rückgabewert
  public static void bitte() {          // und ohne Parameter
    System.out.println ("Bitte Eingabe: ");
  }


  // Methode ohne Rückgabewert
  public static void sterne(int k) {    // mit einem Integer-Parameter
    int i;                              //
    for (i=0; i<k; i++)                 //
      System.out.print("*");
    System.out.println ();
  }


  // Methode mit Rückgabewert
  public static int g(int a, int b) {   // zwei Integer-Parameter
    while (a != b)                      //
      if (a > b) a=a-b;                 //
      else       b=b-a;                 //
    return a;                           //
  }


  // Methode mit globalen und lokalen Variablen und Parameter
  public static void ausgabe1(int x) { // Parameter x
    int y = 20;                        //
    System.out.println ("x = "+x);     //Parameter x,        x=10
    System.out.println ("y = "+y);     //lokale Variable y,  y=20
    System.out.println ("a = "+a);     //globale Variable a, a=1
    System.out.println ("b = "+b);     //globale Variable b, b=2
    System.out.println ("c = "+c);     //globale Variable c, c=3
  }

  // Methode mit globalen und lokalen Variablen und Parameter,
  // die  die globalen Variablenwerte verdecken
  public static void ausgabe2(int b) { // Parameter b
                                       // verdeckt globale Variable b
    int c = 20;                        //
                                       //
    System.out.println ("a = "+a);     // globale Variable a, a=1
    System.out.println ("b = "+b);     // Parameter b,        b=10
    System.out.println ("c = "+c);     // lokale Variable c,  c=20
  }

  // Methode ohne Rückgabewert
  public static void main (String [] args) {           // öffentlich aufrufbar
    bitte();                                           // rufe bitte auf
    sterne(3*5+7);                                     // rufe sterne auf
    System.out.println("" + g(28,12));                 // rufe g auf
    ausgabe1(10);                                      // rufe ausgabe1 auf
    ausgabe2(10);                                      // rufe ausgabe1 auf
  }
}
 
Also das mit dem "kommentiere sinnvoll" ... da wollen wir uns mal nicht drüber streiten, denn ich sehe da keinen einzigen "sinnvollen" Kommentar.

Was die Methode
Code:
int g(int, int)
macht, sehe ich. Weiß allerdings nicht, wie ich das Ergebnis werten soll.

Für die Methode "hoch" kannst du entweder eine Schleife benutzen oder Rekursion, da ihr letzteres bestimmt noch nicht hattet musst du dir wohl nur eine Schleife suchen, in der du b-mal c = c * a aufrufst.

Hoffe zumindest beim 3. Problem etwas geholfen zu haben.
 
Zu Aufgabe 2.
Java:
System.out.println(g(7,5));
System.out.println(g(6,14));
System.out.println(g(7,14));
System.out.println(g(8,20));
Bau das mal in eine main-Methode ein. Bei den Ergebnissen für die verschiedenen Parameter-Kombinationen müsste es eigentlich klingeln. Falls nicht, ein kleiner Tipp: "Man braucht es beim Kürzen von Brüchen." Wenn du das rausgefunden hast, ergeben sich die sinnvollen Kommentare für diese Methode automatisch.
 

Neue Themen


Zurück
Oben