Java 空指针异常仅在比较而不打印值时发生

Java 空指针异常仅在比较而不打印值时发生,java,nullpointerexception,comparison,Java,Nullpointerexception,Comparison,另一个不寻常的地方是,我为File_1指定了值,直到File_1[Length],但它打印出Length-1值。而我以同样的方式为文件2赋值,它打印得很好。请帮忙。我正在处理波斯语文本,所以可能会出现奇怪的字符,但我很确定这与索引值有关 不知道这是否是有意的,但在for循环中,您似乎增加了错误的值(i而不是j) for(i=0;i

另一个不寻常的地方是,我为File_1指定了值,直到File_1[Length],但它打印出Length-1值。而我以同样的方式为文件2赋值,它打印得很好。请帮忙。我正在处理波斯语文本,所以可能会出现奇怪的字符,但我很确定这与索引值有关

不知道这是否是有意的,但在for循环中,您似乎增加了错误的值(i而不是j)

for(i=0;i
请提供足够的代码以运行和复制。请张贴(强调“完成”)。打印值时打印出什么?stacktrace中有什么?看起来你的循环实际上是错误的:
for(int j=0;j
…你真的想在这里增加
i
而不是
j
?@donfuxx把头撞在墙上谢谢!!!
        public static void main(String[] args) throws FileNotFoundException, IOException {
    // TODO code application logic here
    BufferedReader in1 = new BufferedReader(new FileReader("595231gov_nov_13_assessed.txt"));
    BufferedReader in2 = new BufferedReader(new FileReader("627231farsidetect.txt"));


      String Id = null;

     int count = 0;
     String count_line=null;
      while((count_line = in1.readLine()) != null){
          if(count_line.contains("ID: "))
              count ++;
      }
      System.out.println(count);
      File1 [] File_1 = new File1[count];
      in1 = new BufferedReader(new FileReader("595231gov_nov_13_assessed.txt"));




     int i = 0;
     String line = null;
     String relation = null;
     while ((line = in1.readLine()) != null && i != count){
         if(line.contains("ID:")){
             File_1 [i] = new File1();
             File_1[i].ID = line;
         }
         else if(line.contains("Relation:")){
             File_1[i].Relation = line;
         }
         else if(line.contains("Result:")){
             File_1[i].Result = line;
             i ++;
         }
         else if(line.contains("TP") || line.contains("FP") || line.contains("TN") || line.contains("FN")){
             File_1[i-1].Comment = line;
         }

     }


    line = null;
    relation = null;



     i =0; 
     int count2 = 0;
     count_line=null;
      while((count_line = in2.readLine()) != null){
          if(count_line.contains("ID: "))
              count2 ++;
      }
      System.out.println(count2);
      in2 = new BufferedReader(new FileReader("/home/627231farsidetect.txt"));
      File2 [] File_2 = new File2[count2];


    while ((line = in2.readLine()) != null && i != count2){
         if(line.contains("ID:")){
             File_2 [i] = new File2();
             File_2[i].ID = line;
         }
         else if(line.contains("Relation:")){
             File_2[i].Relation = line;
         }
         else if(line.contains("Result:")){
             File_2[i].Result = line;
             i ++;
         }

     }


    in1.close();
    in2.close();

    for (i=0; i<File_1.length - 1; i++)
    {
        System.out.println(File_1[i].ID);
        System.out.println(File_1[i].Relation);
        System.out.println(File_1[i].Result);
        if(File_1[i].Comment != null)
            System.out.println(File_1[i].Comment);
    }



    for (i=0; i<File_2.length; i++)
    {
        System.out.println(File_2[i].ID);
        System.out.println(File_2[i].Relation);
        System.out.println(File_2[i].Result);
    }





    for (i = 0; i < File_1.length-1; i++){
        for(int j=0;j< File_2.length; i++){
            if(File_1[i].ID != null && File_2[j].ID != null && File_1[i].Relation != null && File_2[j].Relation !=null){
            if(File_1[i].ID.equals(File_2[j].ID) && File_1[i].Relation.equals(File_2[j].Relation)){
                if(!(File_1[i].Result.equals(File_2[j].Result))){
                    System.out.println(File_1[i].ID);
                    System.out.println(File_1[i].Relation);
                    System.out.println(File_1[i].Result);
                    if(File_1[i].Comment != null)
                        System.out.println(File_1[i].Comment);
                }
            }
        }
    }
    }



}

public static class File1{
public String ID;
public String Relation;
public String Result;
public String Comment;
        public File1() {
        this.Result = null;
        this.ID=null;
        this.Relation = null;
        this.Comment = null;
    }
}

public static class File2{
public String ID;
public String Relation;
public String Result;

    public File2() {
        this.Result = null;
        this.ID=null;
        this.Relation = null;
    }

}
if(File_1[i].ID.equals(File_2[j].ID) && File_1[i].Relation.equals(File_2[j].Relation))
for (i = 0; i < File_1.length-1; i++)
{
   for(int j=0;j< File_2.length; j++)
   {
      if(File_1[i].ID != null && File_2[j].ID != null && File_1[i].Relation != null && File_2[j].Relation !=null)
      {
         if(File_1[i].ID.equals(File_2[j].ID) && File_1[i].Relation.equals(File_2[j].Relation))
         {
            if(!(File_1[i].Result.equals(File_2[j].Result)))
            {
               System.out.println(File_1[i].ID);
               System.out.println(File_1[i].Relation);
               System.out.println(File_1[i].Result);
               if(File_1[i].Comment != null)
                  System.out.println(File_1[i].Comment);
            }
         }
      }
   }
}