我很想解决这个任务,但遗憾的是,我止步于此:也许我在int
中计算,但应该在double
中计算吗?
彼得把钱存在银行里。银行每年增加百分之一的存款。彼得想知道他在银行的存款要过多少年才能达到他的目标金额。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
Scanner myobject = new Scanner(System.in);
double money = myobject.nextDouble();
double percent = myobject.nextDouble();
double goal = myobject.nextDouble();
int years = -1;
while (goal >= money) {
money = money + money * (percent / 100);
++years;
}
System.out.println(years);
}
}
测试输入:100 15 120
正确输出:2
您的代码输出:1
4条答案
按热度按时间8ehkhllq1#
尝试按如下所示进行更改。
wgmfuz8q2#
应将年份初始化为0,而不是-1:
sczxawaw3#
您的代码的问题是您将年份设置为-1而不是0。这就是为什么您的代码输出计数比预期计数少1。我已相应地更新了您的代码,使其生成预期输出。请在下面找到它。如果您有问题,请告诉我。
bqf10yzr4#