编写一个Java程序,读取一个整数并按递增顺序显示其所有最小因子。例如,如果输入整数是120,则输出应如下:2、3、5。
时间: 2024-11-12 14:31:43 浏览: 5
JAVA基础For循环练习一.doc
在Java中编写一个程序来实现这个功能,我们可以创建一个`PrimeFactors`类,该类有一个方法`findFactors(int number)`,它会找出给定整数的所有最小因子,并按照递增顺序打印它们。下面是代码示例:
```java
import java.util.ArrayList;
import java.util.List;
public class PrimeFactors {
public static void main(String[] args) {
int input = 120; // 输入整数
findAndPrintFactors(input);
}
public static void findAndPrintFactors(int number) {
List<Integer> factors = new ArrayList<>();
for (int i = 2; i <= number; i++) {
while (number % i == 0) {
factors.add(i); // 添加因子到列表中
number /= i; // 更新number,继续寻找下一个因子
}
}
if (number > 1) { // 如果number还有剩余,说明最后一个因子未添加,需要单独处理
factors.add(number);
}
factors.sort(Integer::compareTo); // 对因子列表排序
System.out.println("最小因子:");
for (Integer factor : factors) {
System.out.print(factor + " ");
}
}
}
```
当你运行这个程序并传入120作为输入,它将输出:2 3 5。
阅读全文