目录
题目描述
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
代码实现
import java.util.Scanner;
public class Example03 {
public static void main(String[] args) {
int x;
//定义从键盘输入
Scanner in = new Scanner(System.in);
//提示
System.out.print("请输入一个正整数:");
//将从键盘输入的数赋值给x
x = in.nextInt();
//匿名初始化一个对象,还有参数的构造函数
new PrimeSplit(x);
}
}
class PrimeSplit {
//将最小的质数赋值给k
int k = 2;
public PrimeSplit(int x) {
//小于等于1的数不可以分解
if (x <= 1) {
System.out.println(x + "是无效的被分解数");
} else if (x == 2) {
//如果输入的是最小质数2
System.out.println(x + "分解后的质因数为: 1*" + x);
} else {
//1是所有的正整数的质数
System.out.print(x + "分解后的质因数为: 1");
//输入的数可以被k整除
while (k <= x) {
if (x % k == 0) {
//将k添加到结果中
System.out.print("*" + k);
//除以最小质数后重新循环
x = x / k;
} else {
k++;
}
}
}
}
}
结果展示