<%@page contentType="text/html; charset=GB2312"%>
<%@page import="java.text.*,java.util.*"%>
<%
try{
String[] Temp = null;
for(int i=0;i<10;i++){
Temp[Temp.length]=i+"";
}for(int j=0;j<Temp.length;j++){
out.print(Temp[j]);
}}catch(Exception ie){
out.print(ie);
}
%>为什么报:
java.lang.NullPointerException
怎么解决??

解决方案 »

  1.   

    String[] Temp = new String[10]; 
    for(int i=0;i <10;i++){ 
    Temp[i]=i+""; 
      

  2.   

    你数据都放在temp[10]这个位置上,temp[0]当然是空的啦
      

  3.   

    1、Temp 对象没有实例化;
    2、没有实例化 Temp.length 就无从谈起解决方案如1楼所示
      

  4.   

    String[] Temp = null; 解决方案见1楼
      

  5.   

    String[] Temp = null; 
    Temp.length
    Temp都是null
    Temp.length怎么有呢
      

  6.   

    for(int i=0;i <10;i++){ 如果10这个位置是随机的数字呢(非负数)?
      

  7.   


    像这样写就不会有错了。 你上来就把null赋给Temp, 一定会出现java.lang.NullPointerException. 
      

  8.   

    String[]长度是多少不清除 所以才想这么一个法子 for(int i=0;i <10;i++){ 
    如果10这个位置是随机的数字呢(非负数)?
    如何确保不会出错????
      

  9.   


    是正确的; String[] Temp = null;  这样定义是为空的, 没有指向任何内存地址
      

  10.   

    定义一个List,赋完后调用toArray()方法转换成数组
    这在别的贴中已经说过了
      

  11.   

    在不知道具体长度的情况下,一种解决方法是 使用 java.util.List,然后toArray();
    还有一种方法呢,就麻烦点,自己new一个数组出来,给它初始化一个长度,后续的过程中,如果在添加元素时,发现已经满了,放不下了,就动态增加它的长度。从代码的优雅性来说,还是用List要好些啦,写的代码也少嘛。
      

  12.   


    int num; //等于什么你自己定
    String[] Temp = new String[num]; 
    for(int i=0;i <num;i++){ 
    Temp[i]=i+""; 
      

  13.   

    用 ArrayList 解决了 谢谢TillPerfect