复利计算C语言转java的相关代码

static void principal()// 计算本金
{
    int N, m;
    double i, F, P;
    System.out.printf("复利终值:");
    F = scanner.nextDouble();
    System.out.printf("年利率:");
    i = scanner.nextDouble();
    System.out.printf("存入年限:");
    N = scanner.nextInt();
    System.out.printf("年复利次数:");
    m = scanner.nextInt();
    //P = capital_formula(F, i, N, m);
    P = F / Math.pow((1 + i / m), N * m);
    System.out.println("年复利终值为" + F + "需要本金为:" + P);
}

static void Year_end_value()// 计算复利终值
{
    int N, m;
    double i, F, P;
    System.out.printf("存入本金:");
    P = scanner.nextDouble();
    System.out.printf("年利率:");
    i = scanner.nextDouble();
    System.out.printf("存入年限:");
    N = scanner.nextInt();
    System.out.printf("年复利次数:");
    m = scanner.nextInt();
    F = P * Math.pow((1 + i / m), N * m);
    System.out.println("复利终值:" + F);
}

static void danli()// 单利计算
{
    int N;
    double i, F, P;
    System.out.printf("存入本金:");
    P = scanner.nextDouble();
    System.out.printf("年利率:");
    i = scanner.nextDouble();
    System.out.printf("存入年限:");
    N = scanner.nextInt();
    F = P + P * N * i;
    System.out.println("本息和为:" + F);
}

static void years()// 求年份
{
    int year, m;
    double i, F, P;
    System.out.printf("复利终值:");
    F = scanner.nextDouble();
    System.out.printf("存入本金:");
    P = scanner.nextDouble();
    System.out.printf("年利率:");
    i = scanner.nextDouble();
    System.out.printf("年复利次数:");
    m = scanner.nextInt();
    year = (int) (Math.log(F / P) / Math.log(1 + i / m) / m);
    System.out.println("从" + P + "到" + F + "需要" + year + "年");
}

static void APY()// 计算年利率
{
    int N, m;
    double rate, F, P;
    System.out.printf("复利终值:");
    F = scanner.nextDouble();
    System.out.printf("存入本金:");
    P = scanner.nextDouble();
    System.out.printf("存入年限:");
    N = scanner.nextInt();
    System.out.printf("年复利次数:");
    m = scanner.nextInt();
    rate = m * (Math.pow(F / P, 1.0 / (N * m)) - 1);
    System.out.println("从" + P + "到" + F + "需要" + rate);
}

static void Investment()// 计算等额投资
{
    int N, n;
    double i, final_value, P;
    System.out.printf("\t\t1:按年投资\n\t\t2:按月投资\n");
    System.out.printf("请选择你要的功能<1|2>:");
    n = scanner.nextInt();
    if (n == 1) {
        System.out.printf("存入本金:");
        P = scanner.nextDouble();
        System.out.printf("存入年限:");
        N = scanner.nextInt();
        System.out.printf("年利率:");
        i = scanner.nextDouble();
        final_value = P * (Math.pow(1 + i, N) - 1) / i;
        System.out.println(N + "年后的总产值:" + final_value);

    } else if (n == 2) {
        System.out.printf("存入本金:");
        P = scanner.nextDouble();
        System.out.printf("存入年限:");
        N = scanner.nextInt();
        System.out.printf("年利率:");
        i = scanner.nextDouble();
        final_value = P * 12 * (1 + i) * (Math.pow(1 + i, N) - 1) / i;
        System.out.println(N + "年后的总产值:" + final_value);
    } else {
        System.out.printf("输入有误!\n");
    }

}

static void Repayment()// 等额还款
{
    int N;
    double i, F, refund;
    System.out.printf("贷款金额:");
    F = scanner.nextDouble();
    System.out.printf("存入年限:");
    N = scanner.nextInt();
    System.out.printf("年利率:");
    i = scanner.nextDouble();
    refund = F * i / (12 * (1 + i) * (Math.pow(1 + i, N) - 1));
    System.out.println("贷款" + F + "每月需要还款" + refund);
}

}
时间: 2024-11-10 07:34:18

复利计算C语言转java的相关代码的相关文章

软件工程---复利计算实验总结

  前一次实验 这次实验(估计/实际) 语言 java java 代码行数 99 150/185 工作量 1.5h 2h/2.8h 前一次实验实现是复利计算的三个功能,从代码结构来看,功能结构非常混乱,在加入第四个功能时,干脆划分好结构后重写了程序,花了大概30分钟,然后花了不到20分钟就加入了功能5和6,记得在添加功能2和3时,由于代码结构混乱,花了30多分钟. 另外,在完成功能6后,又重新为程序添加了一个界面,大概花了1个小时,最终的代码及运行结果:http://www.cnblogs.co

软件工程实验一 复利计算

本次编写复利计算我使用了Java编写,有两项功能,一是根据本金计算复利终值,二是根据复利终值计算所需的本金,此时我利用了两条公式 输入本金求终值:S = P * Math.pow(1.0 + i, n) 即  复利终值=本金*(1+利率)^利率获取时间 输入终值求本金:P = S * Math.pow(1.0 + i, -n)即 所需本金=复利终值*(1+利率)^(-利率获取时间) 在Java中运行结果如下: 1.输入本金求终值 2.输入终值求本金 首先在第一个输入框内输入1.2来选择计算方向,

0316 复利计算总结

名称:复利计算 使用语言:c语言. 工具:VC++. 1:           预计完成时间(小时):0.5    实际用时(小时):0.3                      预计工作量(代码行数): 45               实际工作量:30 2,3:        预计完成时间(小时):2       实际用时(小时):2.5                      预计工作量(代码行数): 100             实际工作量:140 4,5,6:     预计完成

复利计算5.0(改成Java版本)与 单元测试

//由于C语言版本不方便单元测试,所以改成了java版本,部分代码如下:import java.util.Scanner; public class FuLi{ public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("\n复利计算按 1\n单利计算按 2\n计算筹集的养老金按 3\n计算时间按 4\n计算您要的利率按 5\n计算本利和投资按 6\n计算

java版复利计算

这是我修改为java的初定界面,还有很多细节问题还没有解决,希望老师可以给我多点的点评,接下来继续努力,我会把每一次的进步发上来,不断的去锻炼. 1.我所用的开发工具是ecipse 2.所有的语言为java 3.开发者:蔡彩虹 4.所用的插件为:swing 代码就不上传,就解释一下所实现的功能,目前,编写的类有8个,分别是: Account1.java: BestEfficiency.java: CompoundAccount.java: fundAccount.java: PrincipalA

构建一个学生Student,根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

定义一个表示学生信息的类Student,要求如下: (1)类Student的成员变量: sNO 表示学号: sName表示姓名: sSex表示性别: sAge表示年龄: sJava:表示Java课程成绩. (2)类Student带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作. (3)类Student的方法成员: getNo():获得学号: getName():获得姓名: getSex():获得性别: getAge()获得年龄: getJava():获得Java 课程成绩 根据类

复利计算测试(C语言)

对我们和复利计算程序,写单元测试. 有哪些场景? 期待的返回值 写测试程序. 运行测试. 测试模块 测试输入 预期结果 运行结果 bug跟踪 计算终值 (本金,年限,利率) 终值     1 (1000,10,0,.3) 13785.85 13785.85   2 (0,10,0.3) 提示输入错误,重新输入 0.00 已修改,弹出提示:输入错误!!重新输入 3 (-1000,10,0.3) 提示输入错误,重新输入 -13785.85 已修改,弹出提示:输入错误!!重新输入 4 (1000,0,

复利计算5.0

一.客户需求 已完成需求: 1.客户说:帮我开发一个复利计算软件. 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢

0317复利计算总结

实验名称 估计完成所需时间(h) 估计代码量(行) 实际完成所需时间(h) 实际代码量(行) 复利计算1.0 - - 1.5 18 复利计算2.0 - - 3 56 复利计算3.0 4 110  6 121  所用语言:java 所用工具:eclipse 实验总结:在这三次实验中,有很多时间是用在了解公式.推导公式上,特别是第三次实验,因为实验中要用到对数函数和开方,以前没有用到过这两个方面的知识,所以花了不少时间在这上,通过百度的查找.和同学讨论之后终于把问题解决了.通过这三次实验,我知道了自