• 本例演示如何编写程序来计算贷款支付问题。
  • 下面是编写程序的步骤:
  • 1.提示用户输入年利率、年数和贷款总额
  • 2.利用年利率算出月利率
  • 3.通过前面的公式计算月支付额。
  • 4.计算总支付额,它是月支付额乘以12再乘以年数。
  • 5.在消息对话框中显示月支付额和总支付额。
package cn.hncu.Chapter2;

import javax.swing.JOptionPane;

/**
* @author hncu_chx
*
* Mylove amin
*
*/
public class ComputeLoan {
public static void main(String[] args) {
//Enter yearly interest rate开始的年利率
String annualInterestRateString = JOptionPane.showInputDialog("Enter yearly " +
"interest rate,for example 8.25:"); //Convert转换… string to double
double annualInterestRate =
Double.parseDouble(annualInterestRateString); //Obtain获得 monthly每月的 interest rate利息率
double monthlyInterestRate = annualInterestRate/1200; //Enter number of years
String numberOfYearsString =JOptionPane.showInputDialog("Enter number of years as an integer," +
"\nfor example 5:"); //Convert转换 string to int
int numberOfYears = Integer.parseInt(numberOfYearsString); //Enter开始 loan借款 amount总额
String loanString = JOptionPane.showInputDialog("Enter loan amount," +
"for example 120000.95:"); //Convert string to double
double loanAmount = Double.parseDouble(loanString); //Calculate 计算 payment付款,支付;报酬
double monthlyPayment = loanAmount * monthlyInterestRate/(1-1/Math.pow(1+monthlyInterestRate,
numberOfYears*12));
double totalPayment = monthlyPayment*numberOfYears*12; //Format格式 to keep tow digits位数 数字 after the decimal小数 point点
//格式保留小数点后两位数
monthlyPayment = (int )(monthlyPayment *100)/100.0;
totalPayment = (int)(totalPayment *100)/100.0; //Display显示 results结果 成绩
String output = "The monthly payment is "+monthlyPayment+
"\nThe total payment is "+totalPayment;
JOptionPane.showMessageDialog(null, output); } }

注意:如果在输入对话框中点击取消,无字符串返回,系统会出现运行时错误。

Java---计算机贷款支付额计算(用对话框实现)的更多相关文章

  1. java GUI,贷款服务器

    本习题来自<java语言程序设计--进阶篇>第30章,网络编程的习题. 题目描述:为一个客户端编写一个服务器.客户端向服务器发送贷款信息(年利率.贷款年限和贷款总额).服务器计算月偿还额和 ...

  2. Java中的Double类型计算

    一.问题的提出: 如果我们编译运行下面这个程序会看到什么?public class Test{    public static void main(String args[]){        Sy ...

  3. 计算机上面常用的计算单位 & 个人计算机架构与接口设备

    不多说,直接上干货! 计算机上面常用的计算单位 容量单位  速度单位  此网络常使用的单位为 Mbps 是 Mbits per second,亦即是每秒多少 Mbit. 个人计算机架构与接口设备 整个 ...

  4. Java 后端微信支付demo

    Java 后端微信支付demo 一.导入微信SDK 二.在微信商户平台下载证书放在项目的resources目录下的cert文件夹下(cert文件夹需要自己建) 三.实现微信的WXPayConfig接口 ...

  5. java实现微信支付

    java实现微信支付 package com.hk.wx.pay.service.impl; @Service public class PayServiceImpl implements PaySe ...

  6. 浅谈Java两种并发类型——计算密集型与IO密集型

    转载:https://blog.csdn.net/u013070853/article/details/49304099 核心是可以分别独立运行程序指令的计算单元.线程是操作系统能够进行运算调度的最小 ...

  7. Java之阶乘数的计算

    说起“阶乘数”,我们应该都不会感到陌生.当老师布置了这样的作业,我们大多数人是一贯用笔算,还有的同学会用计算机去计算.数学是讲究原理和方法的,我们知其然,也要知其所以然.下面我们就用编程来计算阶乘数. ...

  8. java 支付宝wap支付初识

    最近突然想弄下支付宝的支付,因为感觉很好玩.中间遇到很多问题,查查找找,总算是整了两天给整出来了,这里为自己记录下. 第一步:直接去安卓支付宝的官方文档去,写的很清楚了已经,这里有源码https:// ...

  9. Java电商支付系统手把手实现(二) - 数据库表设计的最佳实践

    1 数据库设计 1.1 表关系梳理 仔细思考业务关系,得到如下表关系图 1.2 用户表结构 1.3 分类表结构 id=0为根节点,分类其实是树状结构 1.4 商品表结构 注意价格字段的类型为 deci ...

随机推荐

  1. 怎么让自己的java系统使用支付接口

    昨天花了好久的时间学习了支付接口的教,我看了前7集,就够用了,大家上网搜索一下传智播客在线支付还不错. 1.一开始有一个form表单 2.这个表单是他帮你写好的,有很多银行,银行的name都是特定的 ...

  2. 手势交互之GestureOverlayView

    一种用于手势输入的透明覆盖层,可以覆盖在其他空间的上方,也可包含在其他控件 android.gesture.GestureOverlayView 获得手势文件 需要用GesturesBuilder,如 ...

  3. SQL觸發器聯級刪除

    Create TRIGGER [dbo].[trigInstructionsDelete] ON dbo.Instructions instead OF DELETE AS BEGIN DECLARE ...

  4. Missing iOS Distribution signing identity问题解决

    问题描述 打包上传APPStore  Xcode报以下错误:Missing iOS Distribution signing identity for XXXXXX 查看证书后发现,Develop证书 ...

  5. sublime text snippet代码片断

    $0 代表补全代码后放的位置   0 的权重是最低的 $1 最高 也等于${1:}  ${1: name}    1输入点的序号(1权重最高) name 自动补全的默认值      <conte ...

  6. Java 基础(一)

    Java不只是一种语言,更是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. javaSE: 整个java技术的核 ...

  7. ZOJ 刷题记录 (。・ω・)ノ゙(Progress:31/50)

    [热烈庆祝ZOJ回归] P1002:简单的DFS #include <cstdio> #include <cstring> #include <algorithm> ...

  8. 谷歌浏览器chrome假死、卡死、经常无反应,火狐firefox闪黑格子的解决办法(显卡/驱动兼容问题)

        问题: chrome 升级到高版本,切换标签后点击,滚轮都没反应,假死不动.F12呼出控制台来开发时更让人揪心.(大概chrome 25更高) 原因: 我的电脑是:集显+512M独显,可切换的 ...

  9. 关于javascript输出中文乱码的问题

    今天找到一个引导效果.原来是用英文进行引导.但是我改了里面的英文为汉字就出现乱码的情况.英文提示是在js页面里面完成的.所以最后的解决办法 就是把js文件用记事本打开,然后把文件另存为utf-8的格式 ...

  10. YII 自动引入juquery进行表单验证

    在form表单 里面引入这么一句话 array(      'enableClientValidation'=>true,    'clientOptions'=>array(       ...