Java实例变量设置为0
我对Java还不了解,所以请原谅我的无知。我编译了以下代码:Java实例变量设置为0,java,Java,我对Java还不了解,所以请原谅我的无知。我编译了以下代码: import java.lang.Math; public class Main{ double initialBalance; double interestRate; double years; public static final double periodsPerYear = 12; //constructer public Main(double balance, double interest,
import java.lang.Math;
public class Main{
double initialBalance;
double interestRate;
double years;
public static final double periodsPerYear = 12;
//constructer
public Main(double balance, double interest, double life){
}
//methods
double getMonthlyPayment(){
return Math.round(initialBalance * ((interestRate/periodsPerYear)+((interestRate/periodsPerYear)/(Math.pow(1+(interestRate/periodsPerYear),periodsPerYear*years)-1)))*100.00)/100.00;
}
//main method
public static void main(String[] args){
double initialBalance = 10000;
double interestRate = 0.05;
double years = 2;
Main loan = new Main( initialBalance, interestRate, years );
System.out.println(initialBalance);
System.out.println(interestRate);
System.out.println(years);
System.out.println(loan.getMonthlyPayment());
}
}
问题是当我需要返回438.71时,“System.out.println(loan.getMonthlyPayment())”行返回0.0。我做错了什么?在初始化对象时:
Main loan = new Main(initialBalance, interestRate, years);
此构造函数称为:
public Main(double balance, double interest, double life){
}
但它什么也没用。它是空的。您需要在构造函数中设置实例变量,如下所示:
public Main(double balance, double interest, double life){
this.initialBalance = balance;
this.interestRate = interest;
this.years = life;
}
Java之于Javascript,犹如痛苦之于绘画,火腿之于仓鼠。他们完全不同。强烈建议有抱负的程序员尝试学习他们试图编写代码的语言的名称。当你发布一个问题时,请适当地标记它-这可以让那些了解你需要帮助的语言的人看到你的问题。它是java而不是JavaScript你不给实例变量赋值
initialBalance
等。建议:添加一些行,如initialBalance=balance代码>到构造函数-因此字段被初始化(否则它们将保留默认值:零)