desperado2000
2004-11-23, 22:14:50
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Ws04Aufg2
{
public static void main(String[] args) throws IOException {
long zahl1;
long zahl2;
String eingabeZeile;
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.println("Geben Sie in der nächsten Zeile die untere und die obere Grenze ein!");
eingabeZeile = eingabe.readLine();
StringTokenizer tokens = new StringTokenizer(eingabeZeile);
zahl1 = Long.parseLong(tokens.nextToken());
zahl2 = Long.parseLong(tokens.nextToken());
} while (zahl1<2 || zahl2<2 || zahl2<zahl1);
for (long zahl = zahl1; zahl <= zahl2; zahl++)
{
// System.out.println("Zahl: "+zahl);
long summe=1;
for (long teiler=2; teiler*teiler <= zahl ;teiler++)
{
// System.out.println(" Teiler: "+teiler);
if (zahl%teiler==0)
{
summe+=teiler;
long koteiler=zahl/teiler;
// System.out.println(" KoTeiler: "+koteiler);
if (koteiler!=teiler) { summe+=koteiler; }
// System.out.println(" Summe: "+summe);
}
else;
}
if (summe==zahl)
{
System.out.println("Perfekte Zahl: "+summe);
}
else;
}
}
}
so jetzt meine Frage:
wie erklärt man jemanden der keine Ahnung hat von Java auf gut Deutsch folgende Zeilen
long summe=1;
for (long teiler=2; teiler*teiler <= zahl ;teiler++)
So vielleicht?
Der Anfangsteiler ist 2 und wird immer um 1 erhöht solange der Teiler mit sich selbst multipliziert
kleiner = 0 ist.
Was bedeutet dann oben die Summe=1?
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Ws04Aufg2
{
public static void main(String[] args) throws IOException {
long zahl1;
long zahl2;
String eingabeZeile;
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.println("Geben Sie in der nächsten Zeile die untere und die obere Grenze ein!");
eingabeZeile = eingabe.readLine();
StringTokenizer tokens = new StringTokenizer(eingabeZeile);
zahl1 = Long.parseLong(tokens.nextToken());
zahl2 = Long.parseLong(tokens.nextToken());
} while (zahl1<2 || zahl2<2 || zahl2<zahl1);
for (long zahl = zahl1; zahl <= zahl2; zahl++)
{
// System.out.println("Zahl: "+zahl);
long summe=1;
for (long teiler=2; teiler*teiler <= zahl ;teiler++)
{
// System.out.println(" Teiler: "+teiler);
if (zahl%teiler==0)
{
summe+=teiler;
long koteiler=zahl/teiler;
// System.out.println(" KoTeiler: "+koteiler);
if (koteiler!=teiler) { summe+=koteiler; }
// System.out.println(" Summe: "+summe);
}
else;
}
if (summe==zahl)
{
System.out.println("Perfekte Zahl: "+summe);
}
else;
}
}
}
so jetzt meine Frage:
wie erklärt man jemanden der keine Ahnung hat von Java auf gut Deutsch folgende Zeilen
long summe=1;
for (long teiler=2; teiler*teiler <= zahl ;teiler++)
So vielleicht?
Der Anfangsteiler ist 2 und wird immer um 1 erhöht solange der Teiler mit sich selbst multipliziert
kleiner = 0 ist.
Was bedeutet dann oben die Summe=1?