(JAVA) Suche ein Programm das alle Teiler von mehrer Zahlen in einer Zeile ausgibt. Nur mit while schleifen. Können auch for schleifen sein. Danke im Voraus?
Weiter komme ich nicht :(
ALLE GERADEN ZAHLEN
ZahlV = wo es startet also hier bei 8
ZahlB = bis zu welcher Zahl in diesem Fall 20
und es soll dan so aussehen:
4: 2
6: 2, 3
8: 4, 2
.
.
.
.........
int Testteiler = 0; int ZahlV = 8; int ZahlB = 20; int Teiler = 2; int cZahl = ZahlV;
while (ZahlV < ZahlB) {
while (Teiler < ZahlV) {
if (ZahlV % Teiler == 0) {
System.out.println(ZahlV + ": " + Teiler);
}
Teiler++;
}
if (cZahl == ZahlV) {
System.out.print("," + Teiler);
}
ZahlV++;
cZahl++;
}
System.out.println(ZahlV + ": " + Testteiler);
}
}
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
// 4: 2
// 6: 2, 3
// 8: 4, 2
int zahlV = 4;
int zahlB = 20;
int teiler = 2;
int cZahl = zahlV;
int testteiler = teiler;
while (cZahl <= zahlB) {
String ausgabe = cZahl + ": ";
testteiler = teiler;
while (testteiler < cZahl) {
if (cZahl % testteiler == 0) {
ausgabe += "" + testteiler + ", ";
}
testteiler++;
}
cZahl+=teiler;
if (cZahl == zahlV) {
ausgabe += ", " + testteiler + " ";
}
System.out.println( ausgabe );
}
AUSGABE:
4: 2,
6: 2, 3,
8: 2, 4,
10: 2, 5,
12: 2, 3, 4, 6,
14: 2, 7,
16: 2, 4, 8,
18: 2, 3, 6, 9,
20: 2, 4, 5, 10,
Ich versteh den Code noch nich so ganz, zumindest sollte er so funktionieren, wenn ich so drüberfliege...
aber wenn es nur darum geht, es in einer Zeile auszugeben, kannst du nur System.out.print( ... ) nehmen und er fügt es hinten dran
oder es an ein String anhängen und erst zum Schluss ausgeben..
(grad keine Lust, das rüber zu kopieren..)