也許這可以幫助 -
public Map<Integer, Integer> getFrequencies(int start, int end) {
String num = "";
for (int i = start; i < end + 1; i++)
num += i;
Map<Integer, Integer> frequencies = new HashMap<>();
for (int i = 0; i < num.length(); i++) {
int digit = Character.getNumericValue(num.charAt(i));
Integer frequency = frequencies.get(digit);
frequencies.put(digit, (frequency != null) ? ++frequency : 1);
}
return frequencies;
}
此外,爲了創造你應該使用BigDecimal
一個非常大的數字。因此,建立在上面的例子中,你可以將String
轉換成大量這樣的:
String num = "";
for (int i = start; i < end + 1; i++)
num += i;
return new BigDecial(num);
爲什麼要使用字符串? – Benjoyo 2015-02-11 15:46:51
您應該將當前的代碼與此問題一起發佈,否則我們只能推測爲什麼您獲得的結果不是您期望的結果。 – FatalError 2015-02-11 15:48:14
字符串可以容納大約20億字符。向我們顯示代碼或我們無法幫助您。 – mstbaum 2015-02-11 15:52:51