【问题标题】:Java.util.Date null outputJava.util.Date 空输出
【发布时间】:2014-04-21 21:17:33
【问题描述】:

我不知道为什么我的代码给我的 java.util.date 一个空值。

问题:编写一个测试程序,创建一个 Account 对象,账户 ID 为 1122,余额为 20000,年利率为 4.5%。使用提款方式提取2500美元,使用存款方式存入3000美元,并打印余额,每月利息,以及创建此帐户的日期
这是我的代码:

import java.util.*;  
public class Account {  
private int ID;  
private double Balance;  
private double annualInterestRate;  
private java.util.Date dateCreated;  
public Account(){}  
public Account(int ID, double Balance, double annualInterestRate){  
    this.ID=ID;  
    this.Balance=Balance;  
    this.annualInterestRate= annualInterestRate;  
}  
public void setID(int ID){  
    this.ID=ID;  
}
public void setBalance(double Balance){  
    this.Balance=Balance;  
}  
public void setAnnualInterestRate(double annualInterestRate){  
    this.annualInterestRate= annualInterestRate;  
}  
public int getID(){  
    return ID;  
}  
public double getBalance(){  
    return Balance;  
}  
public double getInterestRate(){  
    return annualInterestRate;  
}  
public java.util.Date getDateCreated(){  
    return dateCreated;  
}  
public double getMonthlyInterestRate(){  
    return annualInterestRate/12;  
}  
public void withDraw(double val){  
    if ((Balance - val) <0)  
    {  
        System.out.println("Offensive content removed from this line");  
    }  
    else  
    {  
        Balance -= val;  
    }  
}  
public void dePosits(double value){  
    Balance += value;  
}  

public static void main(String [] arges){  
Account account = new Account(1122, 20000,.045);  
account.withDraw(2500);  
account.dePosits(3000);  
System.out.println(account.getBalance());  
System.out.println(account.getDateCreated());  
}   

}

【问题讨论】:

  • 未来请考虑发布更多最小示例。例如,实际的分配要求是无关紧要的。像getInterestRate() 这样的方法也是如此。在发布问题时缩小问题范围可能会帮助您发现问题。
  • 因为这显然是一个家庭作业问题,这里也有一些建议,因为这是一个相当微不足道的问题:你可能想熟悉调试器(我猜你使用 Eclipse 或其他一些 IDE),他们可以通过单步执行程序轻松地向您显示此类错误。此外,您可能还想了解基本的 Java 编程。
  • @dirkk 这是一个相当严厉的评论。 “您可能想阅读有关基本 Java 编程的信息”我认为这很明显,我是初学者,不需要说那些令人反感的话。
  • 如果每个人都学会使用调试器,Stack Overflow 上的问题数量就会受到严重影响。
  • @user3558063 这并不是要苛刻,而是要提供有用的建议。由于您犯了一个非常基本的错误,我认为如果您阅读一些基本教程将是一个好主意。这没什么好羞耻的,我们一开始都一无所知,所以我们都从阅读基础知识开始。另外,请注意,SO 是国际性的,我们可能对苛刻的内容存在文化差异(我是德国人,所以作为一种刻板印象,我在交流方面非常直接),但我的评论肯定不是令人反感 .

标签: java


【解决方案1】:

你还没有初始化dateCreated。例如,在构造函数中(或其他地方,取决于您的用例)

dateCreated = new java.util.Date();  

或任何其他方式来初始化所需的日期。

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
相关资源
最近更新 更多