A默苍离 2020-08-06 10:22 采纳率: 0%
浏览 85
已采纳

为什么 会 报 空指针 啊

package org.jgs1904;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.util.List;

/**
 * @Author : 默苍离
 * @Create_Date : 2020/08/01/19:08
 * @Pack_name : org.jgs1904 : Beijing
 * *****************************************************
 * 注释: 获取所有省份信息
 */
public class Provincetr {

    public static void main(String[] args) throws IOException {

        Provincetr provincetr = new Provincetr();
        // System.out.println(provincetr.provincetrElements());
        System.out.println(provincetr.provincetrUrl());

    }

    //provincetr  获取  整个 省级 页面 内容
    public Elements provincetrElements() throws IOException {

        // 获取 整个 省级 页面 内容
        Document provincetr = Jsoup.connect("http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2019/index.html").get();
        //System.out.println(provincetr);
        //通过 选择器组合 获取 所有省份信息
        Elements selectProvincetrs = provincetr.select(".provincetr a");
        //System.out.println(selectCountytr);
        return selectProvincetrs;

    }


    //provincetr  省级  城市 路径 url 后缀
    public List<String> provincetrUrl() throws IOException {

        Document provincetr = Jsoup.connect("http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2019/index.html").get();
        Elements selectProvincetrs = provincetr.select(".provincetr a");
        // System.out.println(selectProvincetrs );

        List<String> provincetrListUrl = null;

        //循环遍历
        for (Element selectProvincetr : selectProvincetrs) {

            System.out.println(selectProvincetr);
            //获取文本内容
            String selectProvincetrString = selectProvincetr.text().toString();
             System.out.println("省级:" + selectProvincetrString);

            //字符串处理 获取 链接
            String provincetrUrl = selectProvincetr.toString();
          System.out.println(provincetrUrl);
            int provincetri = provincetrUrl.indexOf('"');
            System.out.println(provincetri);
            int provincetrj = provincetrUrl.indexOf('"', provincetri + 1);
            System.out.println(provincetrj);
            String provincetrUrlSubstring = provincetrUrl.substring(provincetri + 1, provincetrj);
            System.out.println(provincetrUrlSubstring);
            provincetrListUrl.add(provincetrUrlSubstring);

        }

        return provincetrListUrl;
    }


}

运行结果:

Exception in thread "main" java.lang.NullPointerException
    at org.jgs1904.Provincetr.provincetrUrl(Provincetr.java:68)
    at org.jgs1904.Provincetr.main(Provincetr.java:24)
<a href="11.html">北京市<br></a>
省级:北京市
<a href="11.html">北京市<br></a>
8
16
11.html

  • 写回答

2条回答 默认 最新

  • qq_38888743 2020-08-06 10:53
    关注

    使用:List provincetrListUrl = new ArrayList();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程