获得Java上的总因数

时间:2013-05-30 08:27:23

标签: java factors

我是Java的初学者,我还想知道一些事情以及可能性。我想知道是否有一种方法可以在输出后“计算”int的数量。我的简单代码的目的是计算给定数字的因子(例如:10的因子是1,2,5,10,我应该显示“4”,因为它是数字上的因子总数)。到目前为止,我只能显示各个因素(例如1,2,5,10)。

这是我的简单代码。

public static void main(String[] args) {
  System.out.println("Enter a number whose factors are desired: ");

  Scanner scanNum = new Scanner(System.in);

  int numFac = 0;


  if(scanNum.hasNextInt())
  {
    numFac = scanNum.nextInt();
  }

  System.out.println("The Factors of the entered number are:-");

  for(int i = 1; i <= numFac; i++)
  {


    if(numFac%i == 0)
    {
      System.out.print(i+" ");
    }
  }
}

我可以做些什么?

4 个答案:

答案 0 :(得分:3)

引入int来计算因素。

int factorCount = 0;
for(int i = 1; i <= numFac; i++)
{  
    if(numFac%i == 0)
    {
       factorCount++;
       System.out.print(i+" ");
    }
}
System.out.println("Number of factors " + factorCount;

答案 1 :(得分:1)

所以添加计数器:

int count = 0;
for(int i = 1; i <= numFac; i++) {
    if(numFac%i == 0) {
        System.out.print(i+" ");
        count++;
    }
}

System.out.print("Number of factors is: " + count);

答案 2 :(得分:1)

 int displayFactors(int num) {
    int numOfFactors=0;
    for (int i = 1; i < num; i++) {
      if (num%i == 0) {
          numOfFactors++;
      }
    }
    return numOfFactors;
 }

答案 3 :(得分:1)

public class Test {

public static void main(String[] args)
{
    ArrayList<Integer> x = numberFactors(5000);
    System.out.println("Factors: "+x+"\nTotal: "+x.size());
}

public static ArrayList<Integer> numberFactors(int num){
    ArrayList<Integer> aux=new ArrayList<>();
    for(int i=1;i<=num/2;i++){
        if((num%i)==0){
            aux.add(i);
        }
    }
    return aux;
}

}