Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 很难找到我的代码中的错误所在,这导致我的代码给出错误的答案_Java - Fatal编程技术网

Java 很难找到我的代码中的错误所在,这导致我的代码给出错误的答案

Java 很难找到我的代码中的错误所在,这导致我的代码给出错误的答案,java,Java,我的代码应该是查找每月的贷款支出。它没有给出正确的答案。我正在上一门java入门课程,他们希望我们以某种方式来做,所以请保持一切不变,除了我搞砸的地方 我们必须询问用户的年利率(不是月利率)、贷款期限和初始现金金额 方程为p=(r*L)/(1-(1+r)^-n) 其中r为月利率,L为贷款期限,n为贷款月数。P是贷款的每月偿还额 我一直在努力寻找我的数学有问题的地方,但我担心我的视力有问题,找不到改正的地方 import java.util.Scanner; public class JavaP

我的代码应该是查找每月的贷款支出。它没有给出正确的答案。我正在上一门java入门课程,他们希望我们以某种方式来做,所以请保持一切不变,除了我搞砸的地方

我们必须询问用户的年利率(不是月利率)、贷款期限和初始现金金额

方程为p=(r*L)/(1-(1+r)^-n) 其中r为月利率,L为贷款期限,n为贷款月数。P是贷款的每月偿还额

我一直在努力寻找我的数学有问题的地方,但我担心我的视力有问题,找不到改正的地方

import java.util.Scanner;

public class JavaProgram {
    public static void main (String [] args){
        Scanner input = new Scanner (System.in);
        System.out.println ("This program calculates your monthly payment");
        System.out.println();

        System.out.print ("Please enter the loan amount:" );
        double loanAmount = input.nextDouble();

        System.out.print ("Please enter the  annual interest amount as a percentage, e.g 0.055 for 5.5%:" );
        double annualInterest = input.nextDouble();

        System.out.print ("Please enter the length of the loan payback:" );
        double lengthYears = input.nextInt();

        System.out.println ("Your monthly payback is" + 
        divisionPart(multiplicationPart(monthlyInterest(annualInterest), lengthYears), 
        secondPartOfEquation(monthlyInterest(annualInterest), yearsToMonths(lengthYears))));
    }

    public static double secondPartOfEquation(double x, double y) {
        double result = (1- Math.pow((1 + x), -y));
        return result;
    }

    public static double yearsToMonths(double x) {
        double result = (x * 12);
        return result;
    }    

    public static double multiplicationPart(double x, double y) {
        double result = (x * y);
        return result;
    }

    public static double divisionPart(double x, double y) {
        double result = (x / y);
        return result;
    }

    public static double monthlyInterest(double x) {
        double result = (x / 12);
        return result;
    }

}
输入:
初始现金10000,期限5年,年百分比5.5%(0.055)
我应该得到191.01,但是得到0.09550581085891031


在我看来,将公式翻译成java数学似乎是合理的。除了一部分。你确定从年利息到月利息的换算就是将年利息除以12吗?似乎有点可疑。你确定月利息就是年利息除以12吗?我要说的是第12根(不知道如何在文本中书写)@Sibucus写道:“这是一个通过调试解决的经典问题。我总是建议在发布之前学习如何调试。我保证你会立即发现问题。如果我告诉你你的问题是什么,你将一无所获,以后再发布类似的内容。”。另请参见。据我所知,在变量
loanAmount
初始化为我怀疑对您的计算很重要的值之后,您从未使用过该变量。