[Java] MVC 编写程序计算净现值 2020.2.25 Java
源代码如下:
model层
package zlc.model;/***
* @author 信1705-1班赵路仓
* @version 1.0
*/public class Data {private double r; //贴现率private double y; //贴现因子private double rmb; //现金public double getR() {return r;}public void setR(double r) {this.r = r;}public double getY() {return y;}public void setY(double y) {this.y = y;}public double getRmb() {return rmb;}public void setRmb(double rmb) {this.rmb = rmb;}}
view层
package zlc.view;/***
* @author 信1705-1班赵路仓
* @version 1.0
*/public class View {public void print(double sum) {System.out.println(sum);}}
Controller层
package zlc.controller;import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;import zlc.model.Data;
import zlc.view.View;/***
* @author 信1705-1班赵路仓
* @version 1.0
*/public class Controller {DecimalFormat format = new DecimalFormat("#.00");Scanner sc = new Scanner(System.in);private Data data;private View view;public Controller(Data data,View view) {this.data=data;this.view=view;}public static double formatDouble1(double d) {return (double)Math.round(d*10000)/10000;}//键盘输入数据public List<Data> Scin() {List<Data> datas =new ArrayList<Data>();try {System.out.println("请输入年数:");int x = sc.nextInt();System.out.println("请输入贴现率:");double y = sc.nextDouble();for(int i=0;i<=x;i++) {Data data=new Data();System.out.println("请输入第"+i+"年的盈亏金额:");double rmb = sc.nextDouble();data.setR(y);//贴现率data.setRmb(rmb);//本年金额data.setY(1/Math.pow((1+y), i));//,第一年的贴现因子是rmb本身,所以无需讨论初始投资年的情况System.out.println("第"+i+"年,"+"贴现率"+y+"贴现因子"+formatDouble1((1/Math.pow((1+y), i)))+"金额:"+rmb+"计算后"+rmb*formatDouble1((1/Math.pow((1+y), i))));datas.add(data);}}catch(Exception e) {System.out.println("输入格式错误!");}return datas;}//计算净现值public double count() {List<Data> datas =new ArrayList<Data>();double sum = 0;datas=Scin();for(Data d:datas) {sum+=formatDouble1(d.getRmb())*formatDouble1(d.getY());//System.out.println(d.getRmb());//System.out.println(d.getY());//System.out.println(d.getRmb()*d.getY());//System.out.println("净现值为:"+sum);}return sum;}public Data getData() {return data;}public void setData(Data data) {this.data = data;}public View getView() {return view;}public void setView(View view) {this.view = view;}}
Demo测试类
package demo;import zlc.controller.Controller;
import zlc.model.Data;
import zlc.view.View;public class Demo {public static void main(String[] args) {Data data=new Data();View view=new View();Controller controller=new Controller(data,view);System.out.println("程序开始");view.print(controller.count());System.out.println("程序结束");}
}
测试步骤:
[Java] MVC 编写程序计算净现值 2020.2.25 Java相关推荐
- 用java语言编写程序计算九宫图
前言 对于程序员来说,用程序解决数学问题是最有趣的事情之一.本人研究了一个能够轻易计算九宫图的算法,并且用java语言编写程序得以实现.现将算法和代码公布,欢迎广大程序爱好者前来阅读.交流. 九宫图简 ...
- 方法重载例题 编写程序计算两个同类型的数之和 Java
方法的重载: 方法重载是指在同一作用域内,可以有一组具有相同方法名,不同参数表,返回值类型可以相同也可以不同的方法.重载方法通常用来命名一组功能相似的方法,这样做减少了方法名的数量,提高程序的可读性和 ...
- j1_8。实现打折功能关键算法。编写程序计算购买图书的总金额。
j1_8_01 编写程序计算购买图书的总金额:用户输入图书的定价和购买图书的数量,并分别保存到一个 float 和一个 int 类型的变量中,然后根据用户输入的定价和购买图书的数量,计算购书的总金额并 ...
- c语言用函数求和与差,编写程序计算输入的两个实数的和与差.要求自定义一个函数]...
编写一个程序,输入两个整数,计算并输出它们的和,乘积,差,商和余数,C语言, #includevoidmain(){inta,b;printf("Inputtwointegers:" ...
- python计算圆柱体的表面积和体积_java设计:问题是编写程序计算圆柱体的体积和表面积...
题目: java设计:问题是编写程序计算圆柱体的体积和表面积 编写程序计算圆柱体的体积和表面积. 提示: 1.读入半径和高. 2.表面积=半径×半径×π+2×半径×π×高. 3.体积=底面积×高 4. ...
- python星座转换程序代码_0009 如何编写程序计算所属星座,一看就懂
原标题:0009 如何编写程序计算所属星座,一看就懂 这节课,仍然是复习input输入和if判断的用法,要做一个根据输入月份和日期输出是什么星座的程序. 先来做一下上节课的练习: 输入数字1-7判断是 ...
- C语言学习之分别用while、for 编写程序,计算2*4*6*......*100的值
分别用while.for 编写程序,计算246*-*100的值 for语句 #include <stdio.h> void main(){int x,multiply=1;for(x=1; ...
- C语言学习之分别用while、for 编写程序,计算1+2+3+......+100的值
分别用while.for 编写程序,计算1+2+3+-+100的值 for语句 #include <stdio.h> void main(){int x,add=0;for(x=1;x&l ...
- 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...
[判断题]卤素灯泡是在灯泡内充入氟.氯等卤素气体. [单选题]我国刑法第12条关于溯及力的规定采取的是( ). [填空题]本地局域网 LAN 内, () 和无绳电话速率较低,主流带宽是 100kbps ...
最新文章
- Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)
- 如何快速融入团队(二)
- 负载均衡沙龙活动第二期现场问答汇集
- 程序员,为什么如此迷茫?
- C#常用类库(100多个)
- win10下安装和卸载Ubuntu双系统
- navicat for mysql 用户_Navicat for MySQL 怎么/怎么添加管理用户?Navicat for MySQL 添加管理用户教程_37游游网...
- ieee5节点系统图_存储系统的的关键技术之自精简技术
- vba excel 取得chart保存图片_保存Excel中的图片
- js中数据结构数组Array、映射Map、集合Set、对象、JSON
- 缺少链接库报错:ld: symbol(s) not found for architecture x86_64
- (转)比特币基金难产 区块链基金成首发
- 百度街景瓦片下载器1.1.5
- 中职计算机英语教学大纲,中等职业学校英语教学大纲
- JAVA定义矩形类 方法二
- 什么是数据安全,为什么它很重要?
- 扩展点系列之ApplicationContextAwareProcessor普通类获取Spring Bean - 第433篇
- 深信服AD应用交付管理维护
- 发票查验|身份证实名认证增强版API开发文档
- 【虹科】人工智能和工业相机助力瓶盖质量控制