您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> 新手求教:错在哪里?

新手求教:错在哪里?

来源:网络整理     时间:2016/6/21 13:13:26     关键词:

关于网友提出的“ 新手求教:错在哪里?”问题疑问,本网通过在网上对“ 新手求教:错在哪里?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 新手求教:错在哪里?
描述:

class A 
{ public static void main(String[ ] args) 
    {     B[ ] abc=new B[3]; 
         double m; 
        for(int i=0;i<3;i++) 
           { abc[i].x=i*i; 
              m=abc[i].jieChen(3); 
              System.out.print("abc["+i+"].x="+m); 
          } 
    } 

class B 
 {  double x; 
    public double jieChen(int n) 
          {  double jiechen=1; 
              for(int i=1;i<=n;i++) 
                {   jiechen=jiechen*x*i; 
                } 
              return jiechen; 
          } 

执行结果: 
C:\1111\guangxue>java A 
Exception in thread "main" java.lang.NullPointerException 
             at A.main(A.java:6) 
为什么是这样的提示,我弄不明白? 
非常感谢!! 


解决方案1:

你的对象根本没创建, 你只创建了数组引用,但还没有联系到具体实例上。
B[ ] abc={new B(),new B(),new B()};
或加上]
for(int i=0; i<>
           abc[i]=new B();
          }

解决方案2:

B[ ] abc=new B[3]; 
只是初始化了一个数组对象,但数组里面没有值,所以abc[i].x会出错,实际上abc[i]都是null
在使用abc[i].x前
abc[i]=new B();一下就可以了


以上介绍了“ 新手求教:错在哪里?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1892514.html

相关图片

相关文章