文档介绍:Java流程控制 ——循环结构主讲:贾艳波
第三章
11/10/2017
1
《Java面向对象程序设计教程》-第三章
[任务] 购房还贷计算器应用程序。该应用程序用于显示当贷款期限分别为2年、3年、4年和5年时,每月所需支付的还款额。
从问题的描述得知,该应用程序必须对一个计算重复执行4次——对于这类问题需要用一条循环语句来解决。该应用程序必须满足下面的需求:
应用程序需求分析
通常,银行为购房提供的贷款期限从2年到30年不等。
每月的支付额是根据贷款期限、贷款额和利率来进行计算的。创建一个这样的应用程序,允许客户输入某套房子的价格、预付定金以及所贷款的年利率。应用程序能够针对5年、6年、7年和8年期的贷款期限,按不同的年份显示贷款期限和月度支付额。
实例程序演示
11/10/2017
2
《Java面向对象程序设计教程》-第三章
循环结构(重复结构)
循环语句:是在给定条件成立时,反复执行某个程序段(循环体)。
1、while语句
2、do-while语句
3、for语句
4、购车还贷实例程序
11/10/2017
3
《Java面向对象程序设计教程》-第三章
1、while语句
while (表达式)
语句
while
表达式
语句
false
ture
假若读者拿着一个货物清单到超市去购买货物,并且按照这张清单,顺序找到每一款需购买的货物。这一过程可用下面的伪代码语句进行描述:
如果购物清单中仍然有需购买的货物
将某一款货物添加到购物车中
并将其从清单中划掉
long result=1;
while(n>0)
{
result*=n--;
}
int n=10;
result=result*n;
n=n-1;
条件
循环体
11/10/2017
4
《Java面向对象程序设计教程》-第三章
购房还贷计算器应用程序
对购房还贷计算器应用程序的基本操作做如下描述:
将贷款期限初始化为5年
获取房屋价格、预付定金以及年利率
计算贷款数额
计算贷款月利率
当贷款期限小于或等于8年时
计算总月数
根据贷款数额、每月利率以及按月贷款期限,计算月度支付额
显示结果
将贷款期限增加1年
int year=5;
……
string str;
str=(“输入房屋价格:");
double price=(str);
double loanAmount=(price-downPayment)*;//计算贷款额
monthlyInterest=interest/1200;//计算月利率
while(years<=8)
{ months=12*years;
double base=(1+monthlyInterest,months);
monthlyPayment=loanAmount*monthlyInterest/(1-(1/base));
(+years+"\t"+ monthlyPayment);
years++;
}
月还款额=
11/10/2017
5
《Java面向对象程序设计教程》-第三章
import ;
public class TPayment {
public static void main(String[] args){
int years=5;
int months;
double monthlyPayment;
String str;
str=(“输入房屋价格:");
int price=(str);
str=(“输入预付定金");
int downPayment=(str);
str=(“输入年利率");
double monthlyInterest=(str)/1200;
double loanAmount=(price-downPayment)*;
购房还贷计算器应用程序的完整代码
11/10/2017
6
《Java面向对象程序设计教程》-第三章
购房还贷计算器应用程序的完整代码
while(years<=8) //计算每月付款金额
{ months=12