[JAVA]nombre premier

mysty57 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai créé une classe Liste pour trouver les nombres premiers, je suis obliger d'utiliser les listes, et mon objectifs est d'afficher une liste des nombres premier. Donc j'ai créé une liste en boolean pour voir si un nombre est premier ou pas, ensuite je supprime tous les nombres non premiers, puis j'affiche une liste des nombres premiers, voici ce que j'ai fait:


public static boolean estPremier(int n,Liste2 a) {
boolean estPremier = false;
if (n < 0) {
estPremier = false;
}
else if (n!= 0 && n!= 1) {
while (a!=null){
if (n != a.getContenu() && n%a.getContenu()==0) {
estPremier=false;
}
}
}
return estPremier;
}

public static Liste2 supprimer(int n,Liste2 a){
if(a!=null){
if(a.contenu==n) a=a.suivant;
else a.suivant=supprimer(n,a.suivant);
}
return a;
}

public void afficherPremier(){
Liste2 n=this;
while (n!=null){
System.out.print(n.getContenu()+"");
n=n.suivant;
}
System.out.println();
}
}

Ces 3 méthodes sont celles que je dois tester, il n'y a pas d'erreur dans toutes ma classe Liste2. J'ai commencé ma classe EssaiListe2:

public class EssaiListe2 {
public static void main(String[] args) {
Liste2 a=new Liste2(1,new Liste2(2,new Liste2(3,new Liste2(4,new Liste2(5,new Liste2(6,new Liste2(7,new Liste2(8,new Liste2(9,new Liste2(10,new Liste2(11,new Liste2(12,new Liste2(13,new Liste2(14,null))))))))))))));
Liste2.afficher(a); //résultat: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
System.out.println(a);

En fait il me reste à tester la méthode supprimer et la méthode afficher.
Merci de votre aide parce que je ne m'en sors pas avec la classe test.
A voir également:

1 réponse

dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   135
 
salut
j'y connais rien en java mais ton test il a l'air tout pourri

essaie avec

public static boolean estPremier(int n,Liste2 a) {
boolean estPremier = true;

sans changer le reste
-1