Nombres non premiers Java


Je veux imprimer des nombres non premiers dans un intervalle et calculer la quantité de nombres. Par exemple, entre 3 et 10, les nombres non premiers sont 4,6,8,9 pour cet intervalle.

J'ai créé un tableau et mis les nombres non premiers dans le tableau. Je peux les imprimer sur l'écran, mais quand j'ai essayé d'atteindre chaque élément de la matrice nonPrime[0] et nonPrime[1] semble 0. Aussi, j'ai besoin de suffisamment de tableau de dimension car cela n'aide pas à calculer la quantité de non-premier nombre.

C'est ce Que j'ai essayé:

public static void main (String[] args)
{       
    int x=10;//end of the interval
    int y=2;//first of the interval
    int[]nonPrime=new int[10];
    for(int i=y+1;i<x;i++)
    {
        for(int j=2;j<x;j++)
        {  
            if(i!=j)
            {
                if((i%j==0))
                {
                   nonPrime[j]=i;
                   break;
                }
            }
        }
    }
}
Author: Tunaki, 2016-02-11

1 answers

Vous pouvez utiliser une ArrayList au lieu d'un tableau int comme ceci:

import java.util.ArrayList;
public static void main (String[] args)
{       
    int x=10;//end of the interval
    int y=2;//first of the interval
    ArrayList<Integer> nonPrime = new ArrayList<Integer>();
    for(int i=y+1;i<x;i++)
    {
        for(int j=2;j<i;j++)
        {  
            if((i%j==0))
            {
               nonPrime.add(i);
               break;
            }
        }
    }
}
 0
Author: JNK, 2016-02-11 19:01:41