Wie kann man die Teiler zählen in Java?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

du nimmst am anfang der funktion eine variable

die erhöhst du um 1 wenn ein teiler gefunden wurde

die variable gibst du dann zurück am ende der funktion

beim aufrufen der funktion nimmst du die rückgabe in eine variable auf oder gibst es gleich aus .

leKAzz203 
Fragesteller
 07.01.2022, 16:31
die erhöhst du um 1 wenn ein teiler gefunden wurde

ich weiß nicht wie man das machen soll... Können Sie mir da vielleicht weiterhelfen?

0
TechPech1984  07.01.2022, 17:27
@leKAzz203

3 möglichkeiten

int meinzaehler = 0;
meinzaehler++; /* ++ synonym für +1 auf die variable */ 
meinzaehler = meinzaehler +1; /* meinzaehler soll meinzaehler plus eins werden */
meinzaehler += 1; /* += synonym für  = variable + */
0

Du musst halt eine Variable machen (mit Startwert 0), die Du um 1 erhöhst, wenn Du einen Teiler findest (anstatt des print). Und den Wert dieser Variablen gibst Du halt zurück (anstatt "return (0);").

Dafür sind Variablen da. Will man sich was "merken"? Variable. Will man was zählen? "Variable".

Und der aufrufende Code kann dann wieder eine Variable verwenden, um mit dem Ergebnis weiterzuarbeiten:

int anzahl = alleTeiler(6);
leKAzz203 
Fragesteller
 07.01.2022, 16:24
die Du um 1 erhöhst, wenn Du einen Teiler findest 

und wie soll man das machen ?

0
ohwehohach  07.01.2022, 16:31
@leKAzz203

Man addiert 1 zur Variablen. Ich habe Dir sogar hingeschrieben, an welcher Stelle. Dadurch ergibt sich automatisch, dass das nur gemacht wird, wenn i ein Teiler von z ist.

0
leKAzz203 
Fragesteller
 07.01.2022, 16:39
@ohwehohach
void setup(){
  alleTeiler (6);
}


int alleTeiler (int z) {
  int summe = 0; 
  print("Die Zahl " + z + " hat folgende Teiler: " );
  for (int  i = 1; i <= z; i++) {
    if ( z % i == 0) {
      summe++;
    }
  }
  return summe;
}


0
ohwehohach  07.01.2022, 16:40
@leKAzz203

Ja. Die Ausgabe von "Die Zahl hat folgende Teiler" kann jetzt raus, denn Du gibst ja keine aus. Und im aufrufenden Code könntest Du mit dem Funktionsergebnis jetzt was machen, z.B. ausgeben, wieviele Teiler die Zahl hat.

0
ohwehohach  07.01.2022, 16:42
@leKAzz203

Das ist nicht möglich, denn der Code, der oben steht, ist korrekt. Dann musst Du jetzt wieder Deinen aktuellen Code posten, damit man was sehen kann.

0

Dein Code Beispiel gibt alle Teiler aus. Stattdessen musst du sie zählen.