获得仅有2,3和5作为主要因素的数字

时间:2015-05-10 17:49:46

标签: java

我正在编写一个代码来查找具有素数因子2,3或5的数字。问题是在测试具有素数因子2,3或5的值之后,我无法将该值放入数组数组中[j]没有任何空格(即空值)。你有什么建议吗?我已经标记了问题区域。

 public class test{
 static int search(int i) 
 {
     for(int n=1;n<=Math.sqrt(i);n++){
     if(i==1){
     System.out.println(i);
     }
     else if(i%2==0){
     i=i/2;
     System.out.println(i);
     }
     else if (i%3==0){
     i=i/3;
     System.out.println(i);
     }
     else if (i%5==0){
     i=i/5;
     System.out.println(i);
     }
     }
     return i;
 }
public static void main(String[] args) {
int array[]= new int[100];
{
for(int i=1;i<100;i++)
{
 int m; 
 m=search(i);
 if(m==1||m==2 || m==3 || m==5){
  for(int j=i;j<=i;j++)
     array[j]=i;//Problem is here
  }
 }
 }
}
}

2 个答案:

答案 0 :(得分:0)

public static void main(String[] args) {
int array[]= new int[100];
{
int index=1;
for(int i=1;i<100;i++)
{
 int m; 
 m=search(i);
 if(m==1||m==2 || m==3 || m==5){
     array[++index]=i;
  }
 }
 }}

请试试。

答案 1 :(得分:0)

public static void main(String[] args) {
int array[]= new int[100];
{
int index=0;
for(int i=0;i<100;i++)
{
 int m; 
 m=search(i);
 if(m==1||m==2 || m==3 || m==5){
 array[index++]=i;
}
}
}}

看看。我希望它会有所帮助。