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