====== 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; } } }