您可以创建自己的类,该类在该对的每一侧都有字段,但使用Map<Integer, Integer>
. 一个基本的实现是:
private static Map<Integer, Integer> factorize(int number) {
Map<Integer, Integer> factors = new HashMap<Integer, Integer>();
for (int i = 1; i < Math.sqrt(number); i++) {
if (number % i == 0)
factors.put(i, number / i);
}
return factors;
}
这里有一些测试代码来展示它是如何被调用的以及结果是什么:
public static void main(String[] args) {
Map<Integer, Integer> factorPairs = factorize(12345);
for (Map.Entry<Integer, Integer> factor : factorPairs.entrySet())
System.out.println(factor.getKey() + " x " + factor.getValue());
}
输出:
1 x 12345
3 x 4115
5 x 2469
15 x 823
这应该足以让你开始