Je pense que le constructeur est logiquement correct, je n'arrive pas à comprendre comment l'appeler dans le principal! :) Quelqu'un peut-il aider s'il vous plaît ? Si quelqu'un regardait rapidement mon code, ce serait bien :) Merci beaucoup!Quel est le problème avec ma mise en œuvre de cet algorithme pour calculer les N premiers nombres premiers?
De plus, j'utilise arrayLists dans cette implémentation et je dois le faire de cette façon, donc je ne souhaite pas le changer, même s'il est beaucoup plus facilement implémenté en utilisant uniquement des tableaux.
import java.util.*;
public class PrimeNumberss {
public static void main(String args []){
PrimeNumberss PrimeNumbers = new PrimeNumberss(10);
}
public PrimeNumberss (int initialCapacity) {
ArrayList<Integer> listOfPrimeNumbers = new ArrayList<Integer>(initialCapacity);
long numberOfPrimes = 0; //Initialises variable numberOfPrimes to 0
int start = 2;
boolean[] isPrimeNumber = new boolean[initialCapacity + 1];
for (int i=0;i==initialCapacity;i++) {//setting all values in array of booleans to true
isPrimeNumber[i] = true;
}
while (start != initialCapacity)
{
if (isPrimeNumber[start])
{
listOfPrimeNumbers.add(start);
//add to array list
numberOfPrimes++;
for (int i = start; start < initialCapacity; i+=start)
{
isPrimeNumber[i] = false;
}
}
start++;
}
}
}
Quel est le problème? Si vous obtenez une erreur, veuillez fournir des détails. Si le résultat ne correspond pas aux attentes, veuillez donner des détails –
Il semble que vous l'appeliez bien, quel est exactement le problème? –
Toutes mes excuses pour le manque de détails! Je voulais tester le constructeur que j'appelle en l'imprimant sur les 10 premiers nombres premiers. Quand je le lance, il n'imprime rien. Je sais que j'ai oublié quelque chose de stupide, mais je suis en train de mourir fatigué en ce moment et je ne peux tout simplement pas le voir! – user476033