关于java编程的改错题!

2025-06-25 16:13:08
推荐回答(4个)
回答1:

你Date 数组里没有具体的Date对象。。打印肯定不会有内容了。
你new Date() 这样写十个 放到这个数组里去。就可以了。。
public static void test() {
java.util.Date[] datas = new java.util.Date[10];
for(int i=0;i<10;i++){
datas[i]=new Date(i);
}
System.out.println(datas[0]);
System.out.println(datas[9].toString());
}

回答2:

同意1楼说法。一样的
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

Date[] date = new Date[10];
for(int i=0;i date[i] = new Date();
}
System.out.println(date[0]);
System.out.println(date[9].toString());
}

}

回答3:

你定义的new java.util.Date[10] ,是10
数组下标是从0开始的,
System.out.println(datas[10].toString());
这里你写的是10,下标到9的是就没有了,所用你写成System.out.println(datas[10].toString());
就会报错。

回答4:

这个代码先会报IndexOutOfBoundsException
改成9以后会报NullPointerException……
因为datas[9]==null 所以调toString自然就报了