java.lang.NullPointerException

   更新日期:2024.04.30
主要是数值初始化的问题,改进后的代码如下,请lz仔细对照改过的部分。

public class SPN {
public static void main(String[] args) {
/* set Ptag */
SPN S =new SPN();
Ptag[] P = new Ptag[5];
for(int i=0;i<P.length;i++){
P[i]=S.new Ptag();
}
for (Ptag e : P)
e.tag = 0;//(提示出错语句)
P[0].tag = 1;
/* set Ttag */
Ttag[] T = new Ttag[7];
for(int i=0;i<T.length;i++){
T[i]=S.new Ttag();
}
T[0].TNo = 1;
T[0].PFrom = 1;
T[0].PTo = 2;
T[1].TNo = 1;
T[1].PFrom = 1;
T[1].PTo = 3;
T[2].TNo = 2;
T[2].PFrom = 2;
T[2].PTo = 4;
T[3].TNo = 3;
T[3].PFrom = 3;
T[3].PTo = 5;
T[4].TNo = 4;
T[4].PFrom = 4;
T[4].PTo = 2;
T[5].TNo = 5;
T[5].PFrom = 4;
T[5].PTo = 1;
T[6].TNo = 5;
T[6].PFrom = 5;
T[6].PTo = 1;
/* set MC */
MC[] MC = new MC[5];
for(int i=0;i<MC.length;i++){
MC[i]=S.new MC();
}

for (MC e : MC) {
for (@SuppressWarnings("unused")
int element : e.tag)
element = 0;
}
/* program start */
int MCNo = 0;
do {
/* input MC */
for (int i = 0; i < 5; i++) {
MC[MCNo].tag[i] = P[i].tag;
}
System.out.printf("MC[%d]:%d %d %d %d %d", MCNo, MC[MCNo].tag[0],
MC[MCNo].tag[1], MC[MCNo].tag[2], MC[MCNo].tag[3],
MC[MCNo].tag[4]);
} while (P[0].tag == 1);
}

class Ptag {
int tag;

public void Change() {
if (tag == 1)
tag = 0;
else
tag = 1;
}
}

class Ttag {
int TNo;

int PFrom;

int PTo;
}

class MC {
int[] tag = new int[5];

}

}

我也有过出现这样的,有可能你引用了某个没有初始化好的对象引用~~~再看看吧,看是不是都已经初始化好了。

  • 15221768076 :java. lang. Null PointerException是什么意思
    邹萍柔3485 :答:这个是空指针异常,空指针的解决办法: 重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于设定的值之前。在Java中一般报空指...
  • 15221768076 :如何处理Java. lang. NullPointerException异常?
    邹萍柔3485 :答:1、当有异常出现时,如果程序员没有将对其进行异常处理,那么异常将会出现在控制台上,如下面的控制台信息:Exception in thread "main" java.lang.NullPointerException at Main.f(Main.java:11)at Main.main(Main.java:...
  • 15221768076 :java. lang. Null PointerException是什么意思?
    邹萍柔3485 :答:这个报错是JAV程序的空指针错误,可能是程序访问了不存在/没有初始化的变量导致的问题。
  • 15221768076 :java.lang.NULLPUTException是什么意思?
    邹萍柔3485 :答:java.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。在Java中一般报空指针异常的原因有以下几种:1、字符串变量未初始化;2、接口类型的对象没有用具体的类初始化,比如:List lt;会报错 L...
  • 15221768076 :java. lang. NullPointerException什么意思?
    邹萍柔3485 :答:空指针 java.leng.NullPointerException 常见的几种原因是:1.对象未初始化而直接引用对象值或者方法。2.对象引用已经不存在或者被JDBC关闭。一个经典的例子是JDBC connection已经关闭,ResultSet对象仍然被使用中,这个时候Null...
  • 15221768076 :java.lang.NullPointerException 怎么解决?
    邹萍柔3485 :答:空指针异常,比如当rs返回null值的时候,你再调用他的方法就会报空指针异常。另外你还在用MVC1模式写项目,还是尽快用struts+hibernate 构建吧,你会发现效率的提升,如同从老牛拉车过渡到磁悬浮列车。
  • 15221768076 :java报错:java.lang.Error:Null Pointer Exception:
    邹萍柔3485 :答:一般报java.lang.NullPointerException的原因有以下几种:1字符串变量未初始化;2接口类型的对象没有用具体的类初始化,比如:List lt;会报错 List lt = new ArrayList();则不会报错了 3当一个对象的值为空时,你没...
  • 15221768076 :java提示这个异常怎么解决
    邹萍柔3485 :答:1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建...
  • 15221768076 :java.lang.NullPointerException 这个问题怎么解决?求救大侠们_百度知 ...
    邹萍柔3485 :答:既然是空指针错误 你就在debug的时候看哪个对象是null 是用的Eclipse吗?先双击代码最左边的line 右击你的项目 debug as -> java Application -> yes 按F5前进,一行一样的执行代码。另外 debug的使用是一个程序员是否...
  • 15221768076 :Exception in thread "main" java.lang.NullPointerException是什么意思...
    邹萍柔3485 :答:1、NullPointerException是java应用程序中最常见的一种异常,空指针异常 2、空指针异常是一种运行时异常,发生在调用对象的方法或者属性的时候。3、当对象为null时,调用其任何方法均会报NullPointerException 4、最好的解决...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网