Alle Teiler in Java in der Konsole ausgeben?
Und zwar weiß ich wie man die Rechnung macht, aber in der Konsole wird nicht das Gewünschte ausgegeben:
Schreibe (und teste) eine Methode
void alleTeiler(int z)
die (mit Hilfe einer Schleife) alle ganzzahligen Teiler der Zahl
z
in der Konsole ausgibt.
Ausgabebeispiele:
Die Zahl 6 hat folgende Teiler: 1, 2, 3, 6
Das ist mein Code:
void setup() {
int z = 6;
alleTeiler (z);
}
void alleTeiler (int z) {
int teiler = 0;
while ( teiler <= z) {
teiler++;
if ( z % teiler == 0) {
} else {
}
}
println ("Die Zahl " + z + " hat die Teiler " + teiler);
}
Und in der Konsole wird das ausgegeben:
Die Zahl 6 hat die Teiler 7
Allerdings will ich - wie gesagt- das ausgeben:
Die Zahl 6 hat folgende Teiler: 1, 2, 3, 6
Ich wäre für jede Antwort dankbar!
3 Antworten
void alleTeiler(int z) {
System.out.printf("Teiler der Zahl %d: ", z);
for (int i = 1; i <= z; i++) {
if (z % i == 0) {
System.out.print(i + " ");
}
}
}
- Beginn der Ausgabe ausgeben
- For-Schleife mit allen Zahlen von 1 - z (inkl.)
- In der Schleife prüfen, ob teilbar. Wenn ja, Zahl ausgeben.
void setup() {
int z = 6;
alleTeiler (z);
}
void alleTeiler (int z) {
int teiler = 0;
while ( teiler <= z) { /* problem kleiner gleich ??? z ist 7 teiler ist 7 und danach addierst du noch 1 , dann ist teiler 8 ... also wenn kleiner z , das reicht */
teiler++;
if ( z % teiler == 0) {
/* hier mal den teiler ausgeben oder in einem string speichern oder in einem array speichern */
} else {
/* ist wohl nicht nötig */
}
}
println ("Die Zahl " + z + " hat die Teiler " + teiler); /* entsprechend hier dann den string ausgeben oder das array und nicht den LETZTEN teiler . */
}
wie sieht den dein code dazu aus ?
public class MyClass {
public static void main(String args[]) {
int x=10;
int y=25;
int z=x+y;
String teilers ="";
teilers +=","+x;
System.out.println("Sum of x+y = " + teilers);
}
}
/* beispiel gibt
Sum of x+y = ,10
aus
*/
das ist aber auch falsch , guck die mein beispiel an was ich dazu gepackt habe
public class MyClass {
public static void main(String args[]) {
int x=10;
int y=25;
int z=x+y;
String teilers ="";
teilers +=","+x;
teilers +=","+y;
System.out.println("Sum of x+y = " + teilers);
}
}
/* beispiel gibt
Sum of x+y = ,10,25
aus
*/
Ich verstehe es immer noch nicht so ganz... Kannst du es vielleicht anhand meines Beispiels machen ?
+ ist bei java der zusammenführer . und der erkennt ob es ein integer oder ein string ist . und heftet es automatisch an ein string richtig an .
ergo
int x = 1;
String teiler = "Mein Text "+x;
es wir die int variable x an den String gehängt als String .
was nicht geht ist
String teiler = x ;
weil x eben ein Int ist und kein String und damit ein String kein Int werden kann .
.
Bei Problemen postest du hier dein Problem mit Code in codeblock </> und dann helfe ich weiter , den ein Beispiel hab ich ja schon gepostet .
Die Ausgabe muss mit in die if-Abfrage.
if ( z % teiler == 0) {
System.out.println("Die Zahl " + z + " hat die Teiler " + teile
else {
}
wie sollte man es in einem String speichern ? dann wird der fehlercode " Type mismatch, "int " does not match with "java.lang.String" und arrays haben wir leider noch nicht gelernt