Variablen, Wiederholung

Aufgabe 1

Welchen Wert hat die Variable a am Ende des Programms?

double a;
double b;
double c;
 
a = 2*(7 - 16/2); // a == -2
 
b = a + 4;        // b == 2
 
c = a + b + 3*b;  // c = 6
 
a = b - c + 3*a;  // a = -10

Antwort: a hat den Wert -10.

Aufgabe 2

Schreibe eine Methode, die die Zahlen von 1 bis 10 ausgibt!

void zahlenausgabe{
   int i;
   i = 1;
 
   while(1 <= 10){
      System.out.println(i);
      i = i + 1;
   }
}

Aufgabe 3

Schreibe eine Methode, die die Zahl n entgegennimmt und die Summe 1 + 2 + 3 + … + n zurückliefert!

int summe(int n){
   int zähler = 1;
   int sum = 0;
 
   while(zähler <= n){
      sum = sum + zähler;
      zähler = zähler + 1;
   }
 
   return sum;
}

Aufgabe 4

Schreibe eine Methdode, die die Einmaleinstabelle ausgibt, also

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100

Lösung:

    void einmaleinstabelle(){
 
        int zeile = 1;
        while(zeile <= 10){
 
            int spalte = 1;
            while(spalte <= 10){
 
                System.out.print( zeile * spalte + " ");
                spalte = spalte + 1;
            }
            System.out.println();
            zeile = zeile + 1;
        }
 
    }

Aufgabe 5

Schreibe eine Methode istPrimzahl, die eine int-Zahl entgegennimmt und ausgibt, ob es sich dabei um eine Primzahl handelt.

void istPrimzahl(int n){
 
        int z = 2;
 
        while(z <= Math.sqrt(n)){
 
            if( n % z == 0){
                System.out.println("Keine Primzahl!");
                return;
            }
 
            z = z + 1;
        }
 
        System.out.println("Primzahl!");
 
    }

Bemerkung: n % z ist der Rest der Division von n durch z.

Primzahlberechnung

public class Eratosthenes
{
 
    void berechnePrimzahl(){
 
        boolean[] z = new boolean[21];
 
        // Annahme: Alle Zahlen sind Primzahlen
        int n = 0;
        while(n < z.length){
            z[n] = true;
            n = n + 1;
        }
 
        z[1] = false; // 1 ist keine Primzahl
        int a = 0; // a zeigt auf die nächste Primzahl;
 
        while(a < z.length){
            // nächste Primzahl suchen
            int b = a + 1;
            while ( b < z.length && z[b] == false){
                b = b + 1;
            }
 
            a = b; // a zeigt jetzt auf die nächste Primzahl
 
            // Vielfache von a streichen
            b = 2*a;
            while (b < z.length){
                z[b] = false;
                b = b + a;
            }
        }
 
        int b = 1;
        while(b < z.length){
 
            if(z[b] == true){
                System.out.println(b + ", ");
            }
 
            b = b + 1;
 
        }
 
    }
 
}
Drucken/exportieren
QR-Code
QR-Code schule:klassen:2018:10bc:kap2 (erstellt für aktuelle Seite)