Bootstrap

java求一个整数的所有因子_写一个函数,接受一个整数,输出这个整数的所有因子...

代码1:package chp3;

import java.util.Scanner;

public class TestAllFactor{

public static void main(String[] args){

System.out.print("请输入一个整数n:");

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

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

if(n%i==0)    //上一行的i只有能被n整除 才是n的因子

System.out.println(i+" ");

}

}

}

或者写一个求因子的普遍函数:package chp3;

import java.util.Scanner;

public class TestAllFactor{

public static void main(String[] args){

System.out.print("请输入一个整数n:");

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

getFactor(n);

}

public static void getFactor(int m){

for(i=1;i<=m;i++){    //如果i<=m/2,则输出的因子不包括那个数本身

if(m%i==0)

System.out.println(i+" ");

}

}

}

问题1:为什么i<=m变成i<=m/2,输出的因子就不包括那个数本身了呢

问题2:如果负数也有因子,代码改如何完善

原文:http://wyld123.blog.51cto.com/12619448/1901495

;