如果其他论点不起作用?

J4C3N-14

我有一个问题,其中if else参数仅执行最后一个参数。

我有一个论点,如果条件在某个时间之间,那么jsoup应该解析一组数据,如果时间变量在时间组之外,那么jsoup应该解析另一组数据,但是它总是只解析最后一组数据。

我看不到我在哪里犯了错误,但是对此造成的任何可能的原因,我们深表感谢。

Calendar firstLimit= Calendar.getInstance();
firstLimit.set(Calendar.HOUR_OF_DAY, 18);
firstLimit.set(Calendar.MINUTE, 00);
firstLimit.set(Calendar.SECOND, 00);

Calendar secondLimit= Calendar.getInstance();
secondLimit.set(Calendar.HOUR_OF_DAY, 06);
secondLimit.set(Calendar.MINUTE, 00);
secondLimit.set(Calendar.SECOND, 00);

Calendar currentTime=Calendar.getInstance();

Document docWeather1;

try {
    //Current weather from Met Office
    Connection.Response response = Jsoup.connect("http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/"
            + "all/xml/3604?res=daily&key=2dd5950b-91e1-4671-9d83-625f2ae9cbf5")
        .timeout(10000)
        .ignoreHttpErrors(true)
        .execute();

    int statusCode = response.statusCode();

    if(statusCode == 200) {
        String xml = Jsoup.connect("http://datapoint.metoffice.gov.uk/public/data/val/"
                + "wxfcs/all/xml/3604?res=daily&key=2dd5950b-91e1-4671-9d83-625f2ae9cbf5")
            .timeout(10000).get().toString();//Turns document into a string ready for parsing                       
        docWeather1 = Jsoup.parse(xml, "", Parser.xmlParser());

        if(currentTime.before(firstLimit) && currentTime.after(secondLimit)){

            String weatherType = docWeather1.select("Rep:eq(0)").first().attr("W");
            arr_data.add(weatherType);
            String tempDayMax = docWeather1.select("Rep:eq(0)").first().attr("Dm");
            arr_data.add(tempDayMax);
            String tempDayFeelLike = docWeather1.select("Rep:eq(0)").first().attr("FDm");
            arr_data.add(tempDayFeelLike);
            String windSpeed = docWeather1.select("Rep:eq(0)").first().attr("S");
            arr_data.add(windSpeed);
            String windDirection = docWeather1.select("Rep:eq(0)").first().attr("D");
            arr_data.add(windDirection);
            String pricipProb = docWeather1.select("Rep:eq(0)").first().attr("Ppd");
            arr_data.add(pricipProb);

            System.out.println("Current Weather Night Data Collected and Stored");
        } else {
            String xml1 = Jsoup.connect("http://datapoint.metoffice.gov.uk/public/data/val/"
                                        + "wxfcs/all/xml/3604?res=daily&key=2dd5950b-91e1-4671-9d83-625f2ae9cbf5").timeout(10000).get().toString();//Turns document into a string ready for parsing                     
            docWeather1 = Jsoup.parse(xml1, "", Parser.xmlParser());

            String weatherType = docWeather1.select("Rep:eq(1)").first().attr("W");
            arr_data.add(weatherType);
            String tempDayMax = docWeather1.select("Rep:eq(1)").first().attr("Dm");
            arr_data.add(tempDayMax);
            String tempDayFeelLike = docWeather1.select("Rep:eq(1)").first().attr("FDm");
            arr_data.add(tempDayFeelLike);
            String windSpeed = docWeather1.select("Rep:eq(1)").first().attr("S");
            arr_data.add(windSpeed);
            String windDirection = docWeather1.select("Rep:eq(1)").first().attr("D");
            arr_data.add(windDirection);
            String pricipProb = docWeather1.select("Rep:eq(1)").first().attr("Ppd");
            arr_data.add(pricipProb);

            System.out.println("Current Weather Data Day Collected and Stored");
        }}else{
        System.out.println("received error code : " + statusCode);
    }
} catch (IOException e) {
    e.printStackTrace();
}   

return arr_data;// return ArrayList from here
夸克洛多

true仅当您在凌晨6点至下午6点之间运行程序时,if语句才会从第一个块返回并执行,因为您正在将当前时间与这些时间进行比较。尝试在白天运行该程序,您会得到不同的结果。如果那不是预期的功能,那么还有另一个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章