A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 孙传磊 于 2013-3-10 14:01 编辑

程序很简单,也是跟着视频做的,后来和视频里的代码对了还几遍,都没找出错误所在。
你也可以先看看代码找找问题。
代码是这样的:
import java.text.SimpleDateFormat;
public class Date {
        public static void main(String[] args) {
                Date d=new Date();
                System.out.println(d);
       SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
       String time=sdf.format(d);
       System.out.println("time="+time);
        }
}
程序预期结果应该是:
Fri Mar 08 18:35:14 CST 2013
time=2013年03月08日

而程序的实际结果却是:
testio.Date@1fb8ee3
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
        at java.text.DateFormat.format(DateFormat.java:281)
        at java.text.Format.format(Format.java:140)
        at testio.Date.main(Date.java:9)

后来发现好像少导入一个包"import java.util.Date;"但是我将该包手动写入时,该包处却报错了!
而我是使用eclipse编写的,问什么没有提示需要导入该包呢!后来我在该包里添加一个TextDate类
并把上面的代码复制到TextDate类中,结果就对了!

却查了半天才找出问题出在了,类名与导入的类同名了!后面的问题也都明白了!
现在的问题是:不能很好的理解程序给出的报错信息都是什么意识?还有其他的报错信息都是什么意思,都预示着什么错误?如果知道可能会更快的找出问题。

评分

参与人数 1黑马币 +6 收起 理由
陈丽莉 + 6

查看全部评分

2 个回复

正序浏览
我也遇到过这种问题。就是自己写了一个跟java类库里同名的类。
回复 使用道具 举报
这个只能靠经验了,做多了就能很快找到错误的地方,你也可以看看英文提示的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马