24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1249  |  回复: 8

MJC_G

新虫 (小有名气)

[求助] java.lang.NullPointerException为什么找不到原因呢?

各位大神好,自己在跑程序的时候遇到了    “读取Excel文件c:\WWW\PHP100.Com\Beijing\Beijing_Data\电科院负荷_15分钟.xls失败:java.lang.NullPointerException”          这个问题,可是同样的读取方式另一个excel表格读起来就没有问题,想请问一下,有谁知道这是为什么吗?
回复此楼

» 猜你喜欢

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

pilihaotian

金虫 (初入文坛)

很有可能是中文乱码,导致找不到路径。你可以改成英文测试一下。

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

时来运转不变的改变的都是最好的
2楼2015-10-16 07:32:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MJC_G

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by pilihaotian at 2015-10-16 07:32:47
很有可能是中文乱码,导致找不到路径。你可以改成英文测试一下。

您好,您说的是把excel的中文名改成英文试一下对吗?我试了但是还是相同的结果,以您的经验,还有可能是什么原因造成的呢?谢谢啦!
3楼2015-10-16 08:15:51
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yujiewu

银虫 (正式写手)

4楼2015-10-16 08:25:37
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

jianliu67

木虫 (小有名气)

最好贴一下那部分的代码, 好确定哪一句抛出的异常.

» 本帖已获得的红花(最新10朵)

5楼2015-10-16 08:26:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MJC_G

新虫 (小有名气)

送红花一朵
引用回帖:
5楼: Originally posted by jianliu67 at 2015-10-16 08:26:42
最好贴一下那部分的代码, 好确定哪一句抛出的异常.

嗯嗯,没有提示哪一句抛出异常,但是我把读这个excel之后的数据输出发现读的数字从某一个数字开始就全变为0了,可是excel表里明明是有数据的呀?
6楼2015-10-16 08:31:08
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MJC_G

新虫 (小有名气)

引用回帖:
5楼: Originally posted by jianliu67 at 2015-10-16 08:26:42
最好贴一下那部分的代码, 好确定哪一句抛出的异常.

//得到负荷出力预测值
        public static void GetLoadData(){
                HourLoad = new double[8760*Time_interval];
                File file = new File(LoadData_Filename);
                FileInputStream in = null;
                double a = 0;
                sum_load=0;
               
                try {
                        //以下为读取负荷数据
                        in = new FileInputStream(file);
                        HSSFWorkbook workbook = new HSSFWorkbook(in);
                        HSSFSheet sheet = workbook.getSheet("Sheet1";
                        // 下面读取Excel的数据
                        HSSFRow row = null;
                        HSSFCell cell = null;
                        int rowNum = 0;//
                        int colNum=0;
                        for (; rowNum < sheet.getLastRowNum()+1; rowNum++) {
                                // 获取第rowNum行
                                row = sheet.getRow((short) rowNum);
                                                cell = row.getCell(colNum);
                                                a = cell.getNumericCellValue();
                                                HourLoad[rowNum]=a;
                        }
                        in.close();
                } catch (Exception e) {
                        System.out.println("读取Excel文件" + file.getAbsolutePath() + "失败:" + e);
                } finally {
                        if (in != null) {
                                try {
                                        in.close();
                                } catch (IOException e1) {
                                }
                        }
                }
                for(int i=0;i<8760*Time_interval;i++){//将系统负荷值变为原来的1.2倍
                        HourLoad=HourLoad*1;
                                       
                }
                //生成8760*time_interval个正态分布负荷的标准差,计算每小时负荷的预测偏差
                double[] σ_load=new double[8760*Time_interval];
                double[] δ_load=new double[8760*Time_interval];
                for(int i=0;i<8760*Time_interval;i++){
                        σ_load=HourLoad/100;
                }
                for(int i=0;i<8760*Time_interval;i++){
                        double q=0;
                        double s=0;
                        double z=0;
                        double x=0;
                        double r=Math.random();
                        if(r>=0&&r<=0.5){
                                q=r;
                        }else {
                                q=1-r;
                        }
                        s=Math.pow((-2)*Math.log(q), 0.5);
                        z=s-((2.515517*s+0.802853*s+0.010328*s)/(1+1.432788*s+0.189269*s+0.001308*s));
                        if(r>=0&&r<0.5){
                                x=-z;
                        }else if (r==0.5) {
                                x=0;
                        }else if (r>0.5&&r<=1) {
                                x=z;
                        }
                        δ_load=σ_load*x;
                }
                for(int i=0;i<8760*Time_interval;i++){
                        HourLoad=HourLoad+δ_load;
                        sum_load+=HourLoad;
                }
        }
就是这段代码出现问题?读取Excel文件c:\WWW\PHP100.Com\Beijing\Beijing_Data\电科院负荷_15分钟.xls失败:java.lang.NullPointerException
7楼2015-10-16 08:33:09
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MJC_G

新虫 (小有名气)

找到原因了,都是(short)惹的祸。。
8楼2015-10-16 09:28:40
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

jianliu67

木虫 (小有名气)

引用回帖:
6楼: Originally posted by MJC_G at 2015-10-15 19:31:08
嗯嗯,没有提示哪一句抛出异常,但是我把读这个excel之后的数据输出发现读的数字从某一个数字开始就全变为0了,可是excel表里明明是有数据的呀?...

如果你使用 IDE 编程的话, 一般可以一步一步地 debug. 这样会最快地发现哪一句出的错.

如果不使用 IDE 的话, 最好用 log 来跟踪程序的执行. 多放一些打印的语句, 这样就能大致知道什么地方出的错.

Catch general Exception 一般来说不好. 应该更具体一些.
9楼2015-10-17 07:11:37
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 MJC_G 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂0855-288 +5 x熊二a 2026-04-03 5/250 2026-04-04 00:19 by 猪会飞
[考研] 化学调剂求助 +6 LULONG1 2026-04-03 6/300 2026-04-03 23:13 by qzxyhcsy
[考研] 一志愿北京科技大学材料工程085601,求调剂 +14 cdyw 2026-04-02 15/750 2026-04-03 21:49 by qlm5820
[考研] 数二英二348求调剂 +4 hxdzj1 2026-04-03 5/250 2026-04-03 21:25 by zhq0425
[考研] 338求调剂 +7 晟功? 2026-04-03 7/350 2026-04-03 16:46 by wxiongid
[考研] 专硕085601求调剂 +7 suyifei 2026-04-03 8/400 2026-04-03 14:00 by 欣喜777
[考研] 生物学硕341求调剂 +4 你笑起来像云朵 2026-04-03 4/200 2026-04-03 10:32 by macy2011
[考研] 材料化工340求调剂 +5 jhx777 2026-03-30 5/250 2026-04-02 12:45 by smileboy2006
[考研] 07生物学求调剂 一志愿同济大学359分 +3 LAMC. 2026-03-30 3/150 2026-04-02 10:26 by 18828373951
[考研] 材料调剂 +14 一样YWY 2026-04-01 14/700 2026-04-01 21:07 by lijunpoly
[考研] 0817化工学硕调剂 +11 努力上岸中! 2026-03-31 11/550 2026-04-01 20:30 by 赖春艳
[考研] 0703一志愿南师大334求调剂 +4 seven7yu 2026-03-30 4/200 2026-04-01 16:10 by oooqiao
[考研] 化学0703 调剂 306分 一志愿211 +12 26要上岸 2026-03-28 12/600 2026-04-01 11:10 by chemdavid
[考研] 考研材料工程351分调剂 +5 整个好的 2026-03-31 5/250 2026-04-01 09:36 by topgun2009
[考研] 318一志愿吉林大学生物与医药 求调剂 +6 笃行致远. 2026-03-28 6/300 2026-04-01 09:28 by oooqiao
[考研] 求化学调剂 +12 wulanna 2026-03-28 12/600 2026-03-31 16:38 by 690616278
[考研] 一志愿浙江大学工科动力工程370,数一121,专业课135,现在能去哪里 +3 080700调剂 2026-03-30 4/200 2026-03-31 12:00 by KLMY666
[考研] 081200-11408-276学硕求调剂 +4 崔wj 2026-03-31 4/200 2026-03-31 11:56 by jp9609
[考研] 南京大学化学调剂 +11 景随风 2026-03-29 16/800 2026-03-31 10:14 by herarysara
[考研] 一志愿双一流机械285分求调剂 +4 幸运的三木 2026-03-29 5/250 2026-03-29 14:49 by Miko19
信息提示
请填处理意见