2013-11-03 21 views
1

我正在處理一個簡單的java代碼,輸出用戶輸入數字的所有因素。如何計算並顯示輸出的因素數量?輸出中的整數數量?簡單的java程序

System.out.println("Enter an integer to be factored:"); 
int d = Stdin.readInt(); 

System.out.println("The Factors of " + d + " are:"); 
for(int w = 1; w <= d; w++){ 
    if(d % w == 0){ 
     System.out.println(w); 
    } 
} 

在上面的代碼,它在「W」輸出例如整數的數字,如果輸入的號碼是8和它的因素是1,2,4,8,我怎麼寫代碼,說'8有4個因素'?

感謝

回答

3

你只需要一個變量來計算的因素:

System.out.println("Enter an integer to be factored:"); 
int d = Stdin.readInt(); 
int nFactors = 0; 

System.out.println("The Factors of " + d + " are:"); 
for(int w = 1; w <= d; w++){ 
    if(d % w == 0){ 
     System.out.println(w); 
     ++nFactors; 
    } 
} 
System.out.println(d + " has " + nFactors + " factors"); 
0

你需要一個計數器變量。下面是代碼:

int counter =0; 

for(int w = 1; w <= d; w++){ 
     if(d % w == 0){ 
     counter++; 
     System.out.println(w); 

     } 

System.out.println(d + " has " + counter + "factors "); 
0

嘗試使用此代碼:

import java.util.Scanner; 

public class EmbalzadoFactorial { 
    public static Scanner sc; 

    public static void main(String[] args) { 
     int Number, i; 
     sc = new Scanner(System.in); 

     System.out.print("Please Enter any number to Find Factors: "); 
     Number = sc.nextInt(); 

     System.out.println("The factors are: "); 
     for(i = 1; i <= Number; i++) { 
      if(Number%i == 0) { 

       System.out.format(" %d ", i); 
      System.out.print ("and"); 
      System.out.format("%s %n ", i); 
      } 
     } 
    } 
}