Alle Teiler in Java in der Konsole ausgeben?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
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.
Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung
leKAzz203 
Fragesteller
 07.01.2022, 13:51

Ah okay, danke !!!!

0
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 . */
}
leKAzz203 
Fragesteller
 07.01.2022, 13:37

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

0
TechPech1984  07.01.2022, 13:38
@leKAzz203

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
*/
0
TechPech1984  07.01.2022, 13:41
@leKAzz203

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
*/
1
leKAzz203 
Fragesteller
 07.01.2022, 13:46
@TechPech1984

Ich verstehe es immer noch nicht so ganz... Kannst du es vielleicht anhand meines Beispiels machen ?

0
TechPech1984  07.01.2022, 13:50
@leKAzz203

+ 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 .

1

Die Ausgabe muss mit in die if-Abfrage.

if ( z % teiler == 0) {
    System.out.println("Die Zahl " + z + " hat die Teiler " + teile
else {
    
}