IDE上的代码覆盖范围与网站上的代码覆盖范围不同

时间:2020-04-23 18:31:29

标签: java nullpointerexception java.util.scanner

当我在Eclipse上运行junit测试时,我得到的百分比很高。但是,当我浏览学校的在线作业上交页面时,它得到的代码覆盖率非常低。我相信这与以下代码有关:

CompetitionDijkstra (String filename, int sA, int sB, int sC){

    Scanner x;


   this.sA = sA;
   this.sB = sB;
   this.sC = sC;

   try {
       x = new Scanner(new File(filename));
   }
   catch(Exception e) {
       x = null;
       System.out.println("could not find file");
   }

   String v_str = x.next();
   String e_str = x.next();
   this.v = Integer.parseInt(v_str);
   this.e = Integer.parseInt(e_str);

   this.graph = new EdgeWeightedGraph(v);
   Edge buff = new Edge(0, 0, 0);

   String bv_str;
   String bw_str;
   String bweight_str;

   int bv, bw;
   double bweight;

   while(x.hasNext()) {
       bv_str = x.next();
       bw_str = x.next();
       bweight_str = x.next();

       bv = Integer.parseInt(bv_str);
       bw = Integer.parseInt(bw_str);
       bweight = Double.parseDouble(bweight_str);

       buff = new Edge(bv, bw, bweight);

       this.graph.addEdge(buff);
   }


   x.close();
}

特别是String v_str = x.next();

该网站告诉我,尽管我没有在IDE上收到任何错误或警告,但仍从此行获取到java.lang.NullPointerException。我怀疑这可能与在构造函数中使用try-catch有关,但我不确定。

代码有什么问题吗?在问我的教授任何问题之前,我想确定一下。

谢谢。

0 个答案:

没有答案