Java 非素数
Java non-prime numbers
我想打印一个区间内的非素数,并计算数字的个数。比如3到10之间,这个区间的非素数是4,6,8,9
我创建了一个数组并将非质数放入数组中。我可以在屏幕上打印它们,但是当我尝试访问数组中的每个元素时,nonPrime[0]
和 nonPrime[1]
似乎是 0
。另外我需要足够的维度数组,因为它无助于计算非素数的数量。
那是我试过的:
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;
}
}
}
}
}
您可以像这样使用 ArrayList 而不是 int 数组:
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;
}
}
}
}
我想打印一个区间内的非素数,并计算数字的个数。比如3到10之间,这个区间的非素数是4,6,8,9
我创建了一个数组并将非质数放入数组中。我可以在屏幕上打印它们,但是当我尝试访问数组中的每个元素时,nonPrime[0]
和 nonPrime[1]
似乎是 0
。另外我需要足够的维度数组,因为它无助于计算非素数的数量。
那是我试过的:
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;
}
}
}
}
}
您可以像这样使用 ArrayList 而不是 int 数组:
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;
}
}
}
}