24小时热门版块排行榜    

查看: 1447  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[基金申请] 申请科研项目纯靠实力能成功吗? 200+4 David1982 2026-10-13 7/350 2026-10-14 14:24 by 13108017953
[硕博家园] 极限拉扯,如何抉择 +10 Isak0320 2026-10-12 14/700 2026-10-14 11:39 by thegarfield
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +6 13108017953 2026-10-08 6/300 2026-10-12 20:07 by w3w3y3
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见