
这段JAVA代码哪儿出问题了? 为什么结果不对?
新手啊一共只有5分了全给了不好意思啊publicclassLoan{privatedoubleannualInterestRate;privateintnumberOfY...
新手啊 一共只有5分了 全给了 不好意思啊
public class Loan {
private double annualInterestRate;
private int numberOfYears;
private double loanAmount;
private java.util.Date loanDate;
public Loan() {
this(7.5, 30, 100000);
}
public Loan(double annualInterestRate, int numberOfYears, double loanAoumt) {
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;
loanDate = new java.util.Date();
}
public double getannualInterestRate() {
return annualInterestRate;
}
public void setannualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public int getNumberOfYears() {
return numberOfYears;
}
public void setNumberOfYears(int numberOfYears) {
this.numberOfYears = numberOfYears;
}
public double getLoanAmount() {
return loanAmount;
}
public double getMonthlyPayment() {
double monthlyInterestRate = annualInterestRate / 1200;
return loanAmount
* monthlyInterestRate
/ (1 - (Math.pow(1 / (1 + monthlyInterestRate),
numberOfYears * 12)));
}
public java.util.Date getLoanDate(){
return loanDate;
}
public double getTotalPayment(){
return getMonthlyPayment() * numberOfYears * 12;
}
}
----------------------------
import javax.swing.JOptionPane;
public class TestLoan {
public static void main(String[] args) {
String annualInterestRateString = JOptionPane
.showInputDialog("Enter yearly interest rate,for example 8.25:");
double annualInterestRate = Double
.parseDouble(annualInterestRateString);
String numberOfYearsString = JOptionPane
.showInputDialog("Enter number of years as an integer,\nfor example 5:");
int numberOfYears = Integer.parseInt(numberOfYearsString);
String loanString = JOptionPane
.showInputDialog("Enter loan amount,for example 120000.95:");
double loanAmount = Double.parseDouble(loanString);
Loan loan = new Loan(annualInterestRate, numberOfYears, loanAmount);
double monthlyPayment = (int) (loan.getMonthlyPayment() * 100) / 100.0;
double totalPayment = (int) (loan.getTotalPayment() * 100) / 100.0;
String output = "The loan was created on "
+ loan.getLoanDate().toString() + "\nThe monthly paymen is "
+ monthlyPayment + "\nThe total payment is " + totalPayment;
JOptionPane.showMessageDialog(null, output);
}
}
输了信息进去 结果输出来都是0 看了很久也不知道哪儿错了 展开
public class Loan {
private double annualInterestRate;
private int numberOfYears;
private double loanAmount;
private java.util.Date loanDate;
public Loan() {
this(7.5, 30, 100000);
}
public Loan(double annualInterestRate, int numberOfYears, double loanAoumt) {
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;
loanDate = new java.util.Date();
}
public double getannualInterestRate() {
return annualInterestRate;
}
public void setannualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public int getNumberOfYears() {
return numberOfYears;
}
public void setNumberOfYears(int numberOfYears) {
this.numberOfYears = numberOfYears;
}
public double getLoanAmount() {
return loanAmount;
}
public double getMonthlyPayment() {
double monthlyInterestRate = annualInterestRate / 1200;
return loanAmount
* monthlyInterestRate
/ (1 - (Math.pow(1 / (1 + monthlyInterestRate),
numberOfYears * 12)));
}
public java.util.Date getLoanDate(){
return loanDate;
}
public double getTotalPayment(){
return getMonthlyPayment() * numberOfYears * 12;
}
}
----------------------------
import javax.swing.JOptionPane;
public class TestLoan {
public static void main(String[] args) {
String annualInterestRateString = JOptionPane
.showInputDialog("Enter yearly interest rate,for example 8.25:");
double annualInterestRate = Double
.parseDouble(annualInterestRateString);
String numberOfYearsString = JOptionPane
.showInputDialog("Enter number of years as an integer,\nfor example 5:");
int numberOfYears = Integer.parseInt(numberOfYearsString);
String loanString = JOptionPane
.showInputDialog("Enter loan amount,for example 120000.95:");
double loanAmount = Double.parseDouble(loanString);
Loan loan = new Loan(annualInterestRate, numberOfYears, loanAmount);
double monthlyPayment = (int) (loan.getMonthlyPayment() * 100) / 100.0;
double totalPayment = (int) (loan.getTotalPayment() * 100) / 100.0;
String output = "The loan was created on "
+ loan.getLoanDate().toString() + "\nThe monthly paymen is "
+ monthlyPayment + "\nThe total payment is " + totalPayment;
JOptionPane.showMessageDialog(null, output);
}
}
输了信息进去 结果输出来都是0 看了很久也不知道哪儿错了 展开
3个回答
展开全部
public class Loan {
private double annualInterestRate;
private int numberOfYears;
private double loanAmount;
private java.util.Date loanDate;
/*public Loan() {
//this(7.5, 30, 100000);
}*/
public Loan(double annualInterestRate, int numberOfYears, double loanAmount) {
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;//注意这个拼写和参数的拼写。。。。
loanDate = new java.util.Date();
}
public double getannualInterestRate() {
return annualInterestRate;
}
public void setannualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public int getNumberOfYears() {
return numberOfYears;
}
public void setNumberOfYears(int numberOfYears) {
this.numberOfYears = numberOfYears;
}
public double getLoanAmount() {
return loanAmount;
}
public double getMonthlyPayment() {
double monthlyInterestRate = annualInterestRate / 1200;
return loanAmount
* monthlyInterestRate
/ (1 - (Math.pow(1 / (1 + monthlyInterestRate),
numberOfYears * 12)));
}
public java.util.Date getLoanDate(){
return loanDate;
}
public double getTotalPayment(){
return getMonthlyPayment() * numberOfYears * 12;
}
}
如果都是零,首先考虑的问题就是参数传错了。。。
private double annualInterestRate;
private int numberOfYears;
private double loanAmount;
private java.util.Date loanDate;
/*public Loan() {
//this(7.5, 30, 100000);
}*/
public Loan(double annualInterestRate, int numberOfYears, double loanAmount) {
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;//注意这个拼写和参数的拼写。。。。
loanDate = new java.util.Date();
}
public double getannualInterestRate() {
return annualInterestRate;
}
public void setannualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public int getNumberOfYears() {
return numberOfYears;
}
public void setNumberOfYears(int numberOfYears) {
this.numberOfYears = numberOfYears;
}
public double getLoanAmount() {
return loanAmount;
}
public double getMonthlyPayment() {
double monthlyInterestRate = annualInterestRate / 1200;
return loanAmount
* monthlyInterestRate
/ (1 - (Math.pow(1 / (1 + monthlyInterestRate),
numberOfYears * 12)));
}
public java.util.Date getLoanDate(){
return loanDate;
}
public double getTotalPayment(){
return getMonthlyPayment() * numberOfYears * 12;
}
}
如果都是零,首先考虑的问题就是参数传错了。。。

2025-03-26 广告
Java深度解决方案涉及多个方面。在企业应用开发中,可利用Java的跨平台性、高性能构建稳定系统。针对并发问题,可通过Java内存模型(JMM)及volatile关键字、synchronized同步块等确保线程安全。同时,借助Java的新特...
点击进入详情页
本回答由福州东方锐智提供
展开全部
public Loan(double annualInterestRate, int numberOfYears, double loanAoumt) { //这里参数名字错了
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;
loanDate = new java.util.Date();
}
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;
loanDate = new java.util.Date();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询