2

我是 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

4 回答 4

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;
于 2013-05-30T08:29:51.617 回答
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);
于 2013-05-30T08:30:21.033 回答
1
 int displayFactors(int num) {
    int numOfFactors=0;
    for (int i = 1; i < num; i++) {
      if (num%i == 0) {
          numOfFactors++;
      }
    }
    return numOfFactors;
 }
于 2013-05-30T08:32:35.820 回答
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;
}

}
于 2013-05-30T08:41:12.167 回答