- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
System.out.println("How much money do you need to retire?");
Scanner inp=new Scanner(System.in);
float finalsm= inp.nextFloat();
System.out.println("How much will you contribute each year?");
float contr=inp.nextFloat();
System.out.println("What is interest rate?");
float inrate=inp.nextFloat();
float crrbal=0;int cyears=-1;
continue_accumulate:
{
while (crrbal < finalsm)
{
float interest = crrbal * inrate / 100;
crrbal += interest;
cyears++;
if (crrbal >= finalsm) break;
input_request:do
{
System.out.println("you need to contribute. Will you? ");
String consent = inp.next();
switch (consent)
{
case "yes":
case "Yes":
System.out.println("Thank you.");
break input_request;
case "no":
case "No":
System.out.println("ok, no problem. You've accumulated " + crrbal);
break continue_accumulate;
default:
System.out.println("Say Yes or No");continue input_request;
}
}
while (1==1);
crrbal+=contr;
}
System.out.println("You will have to deposit for "+cyears+"years.");
}
Програмка - учебный пример, которая рассчитывает сколько лет нужно ложить деньги на депозит, перед тем как выйти на пенсию :) Рассчет производится по сложным процентам (в банках так не делают). Взята из книги по JAVA, исправлена и доработана.
imihajlov 08.12.2015 11:14 # +1
Say Yes or No
dmytrocx75 08.12.2015 22:12 # −1
Steve_Brown 08.12.2015 11:49 # 0
{
...
}
guest 08.12.2015 14:29 # +6
guest 08.12.2015 14:36 # 0
x - начальная сумма
p - проценты
xa - ежегодное пополнение, то в конце N года у нас будет
S = x(1+p)^N+xa((1+p)^(N-1)-1)/p И отсюда легко выразить
xa = p(S-x(1+p)^N)/((1+p)^(N-1)-1)
dmytrocx75 08.12.2015 22:11 # −1
wvxvw 13.12.2015 22:22 # 0