目标效果:
源码:
import java.util.ArrayList;
import java.util.Scanner;
/**
* 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
* @author Vivinia
*
*/
/*思路:每一个和数都由比较小的质数例如2,3,5...构成,所以可以从小的数开始除,只要能整除继续除以这个数,但是要确保除以的数位质数*/
public class resolveNum {
static int num;
static ArrayList<Comparable> factorNum=new ArrayList(); //用于保存该合数的质因数,这里不使用数组,是因为不能分配不确定的数组空间
public static void main(String[] args) {
//输入合数
getNum();
//查找因数
selectFactor();
//打印数组信息
showNum();
}
//打印数组信息
private static void showNum() {
factorNum.remove(factorNum.size()-1); //删除最后一个*
System.out.print(num+"=");
for(int i=0;i<factorNum.size();i++)
System.out.print(factorNum.get(i));
}
/