public static String allPowers(long a, long b) {
String powers = "";
long number = a;
while (number <= b) {
powers = Math.pow(2, number) + " ";
number++;
}
return powers;
}
我正在尝试使用String 所以我得到2 ^ 2,2 ^ 3 ....... 2 ^ 6。 但相反,我得到一笔64 这总是错的 总和应该是124
答案 0 :(得分:1)
您在每次迭代中覆盖powers
。您应该使用powers += Math.pow(2, number) + " ";
附加字符串或使用StringBuilder
(首选,因为字符串连接每次迭代都会创建新对象)。
答案 1 :(得分:0)
使用StringBuilder
对象:
public static String allPowers(long a, long b)
{
StringBuilder powers = new StringBuilder();
long number = a;
while (number <= b)
{
powers.append(Math.pow(2, number)).append(" ");
number++;
}
return powers.toString();
}