24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1248  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 321求调剂 +3 认真求上学 2026-04-03 3/150 2026-04-03 21:12 by 科研小专家
[考研] 321求调剂 +10 认真求上学 2026-04-02 10/500 2026-04-03 16:17 by lijunpoly
[考研] 0854求调剂 +3 assdll 2026-04-03 3/150 2026-04-03 14:32 by fxue1114
[考研] 333求调剂 +9 wfh030413@ 2026-04-03 9/450 2026-04-03 14:20 by 啊俊!
[考研] 0705理学294求调剂 +3 成果成果cg5 2026-04-03 3/150 2026-04-03 14:04 by simons1972
[考研] 求调剂 +3 晟功? 2026-04-03 3/150 2026-04-03 11:52 by wxiongid
[考研] 重庆大学材料与化工085600,初试370+,求求调剂建议 +8 shzhou_ 2026-04-01 9/450 2026-04-03 09:31 by 蓝云思雨
[考研] 调剂 +7 祉岷. 2026-04-02 7/350 2026-04-03 09:11 by 花呗还欠600
[考研] 求调剂推荐 +3 南山南@ 2026-04-01 3/150 2026-04-02 12:09 by xiaoranmu
[考研] 304求调剂 +12 素年祭语 2026-03-31 15/750 2026-04-01 22:41 by peike
[考研] 292求调剂 +17 木虫er12138 2026-04-01 17/850 2026-04-01 21:37 by 七度不信任
[考研] 265求调剂 +11 yelck 2026-04-01 12/600 2026-04-01 19:12 by 549790059
[考研] 332求调剂 +8 Lyy930824@ 2026-03-29 8/400 2026-04-01 18:40 by 千钧澄玉宇啊
[考研] 353求调剂 +4 拉钩不许变 2026-04-01 4/200 2026-04-01 18:10 by 记事本2026
[考研] 【调剂】一志愿厦大生物与医药调剂 +3 Echo虾米 2026-03-31 3/150 2026-04-01 08:40 by JourneyLucky
[考研] 一志愿西电085401数一英一299求调剂 六级521 +4 爱吃大鸭梨 2026-03-31 4/200 2026-03-31 11:51 by 搏击518
[考研] 323分 食品与营养调剂 +3 嘿ooo 2026-03-31 3/150 2026-03-31 09:38 by longlotian
[考研] 一志愿中海洋320化学工程与技术学硕求调剂 +8 披星河 2026-03-30 8/400 2026-03-31 08:53 by lbsjt
[考研] 083000环境科学与工程调剂,总分281 +4 橙子(胜意) 2026-03-30 4/200 2026-03-31 00:44 by Linzejun
[考研] 调剂考研 +3 王杰一 2026-03-29 3/150 2026-03-29 08:09 by fmesaito
信息提示
请填处理意见