Changeset 236 in Java_Quellcode_SOOP_Vorlesung for methoden


Ignore:
Timestamp:
Nov 9, 2016, 7:08:48 PM (8 years ago)
Author:
tr
Message:

diverse Aufräumarbeiten Arrays, Sudoku, Methoden

Location:
methoden
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • methoden/Methoden.java

    r229 r236  
    4949
    5050        schreibeHallo();
    51        
     51   
    5252        schreibeSterne(3);
    53         schreibeSterne(17);
     53        schreibeSterne(17 + 4);
    5454       
    5555        int m = fakultaet(4);
    5656       
    5757        schreibeSterne(m - 10);
     58       
    5859        schreibeSterne(fakultaet(3));
    5960       
     
    6566        int y = scan.nextInt();
    6667       
    67         int g = ggT(x, y);
    68         System.out.println("ggT(" + x + ", " + y + ") = " + g);
     68        int z = ggT(x, y);
     69        System.out.println("ggT(" + x + ", " + y + ") = " + z);
    6970    }
    7071}
  • methoden/Methodenaufruf.java

    r231 r236  
    22
    33/**
    4  * Demonstration der Abläufe beim Methodenaufruf
    5  * Mit Debugger ausführen und Variable beobachten.
     4 * Demonstration der Abläufe beim Methodenaufruf Mit Debugger ausführen und
     5 * Variable beobachten.
    66 *
    77 * @author Thomas Richter
     
    99 */
    1010public class Methodenaufruf {
    11    
     11
    1212    // Methode zur Berechnung des Produkts a * b
    1313    // Sehr umständlich! Nur zur Illustration.
    1414    public static int produkt(int a, int b) {
    1515        int ergebnis = a * b;
    16        
     16
    1717        return ergebnis;
    1818    }
    19    
     19
    2020    // Methode zur Berechnung der Fakultät einer Ganzzahl n
    2121    public static int fakultaet(int n) {
     
    3131    }
    3232
     33    // Die Methode soll feststellen, ob die übergebene Zahl n die Ziffer 3
     34    // enthält
     35    // falls ja soll die Methode true zurückgeben, sonst false
     36    public static boolean enthaeltDrei(int n) {
     37
     38        // Durchlaufe die gesamte Zahl bis nichts mehr von ihr übrig ist
     39        while (n > 0) {
     40
     41            // ist die letzte Ziffer eine 3?
     42            if (n % 10 == 3) {
     43
     44                // wir haben festgestellt, dass eine 3 enthalten ist
     45                // ==> geben true zurück, die Methode endet sofort
     46                return true;
     47            }
     48
     49            // Schneide letzte Ziffer ab
     50            // Merke: hier wird der Parameter n geändert, dies hat aber nur
     51            // lokale Auswirkungen innerhalb der Methode (call-by-value)
     52            n = n / 10;
     53        }
     54
     55        // gesamte Zahl wurde geprüft, der Programmablauf ist bis hierhin
     56        // gekommen
     57        // es kann also keine 3 enthalten gewesen sein, da die Methode sonst
     58        // schon verlassen worden wäre ==> keine 3 in n enthalten
     59        return false;
     60    }
     61
    3362    public static void main(String[] args) {
    3463
    3564        int x = 2;
     65
     66        int y = 4;
     67
     68        int p = produkt(x, y);
     69
     70        System.out.println(p);
     71
     72        System.out.println(fakultaet(y));
    3673       
    37         int y = 4;
    38        
    39         int p = produkt(x, y);
    40        
    41         System.out.println(p);
    42        
    43         System.out.println(fakultaet(y));
     74        int a = 446671;
     75        System.out.println("enhält 3: " + enthaeltDrei(a));
     76
     77        a = 4346671;
     78        System.out.println("enhält 3: " + enthaeltDrei(a));
    4479    }
    4580}
Note: See TracChangeset for help on using the changeset viewer.