使用java从excel读取二维数组过程中报错

问题描述

代码如下,主要是做一些统计;问题应该处在从excel读取的过程中,没有飘红,但是编译时还是报错囧……希望大家帮忙看下,不甚感激……packagesy2;importjxl.*;importjxl.read.biff.*;importjava.io.*;importjava.io.File;publicclassStatistics{publicvoidQuickSort(double[]pData,intleft,intright)//快速排序{inti,j;doublefirst,temp;i=left;j=right;first=pData[left];while(true){while((++i)<right-1&&pData[i]<first);while((--j)>left&&pData[j]>first);if(i>=j)break;temp=pData[i];pData[i]=pData[j];pData[j]=temp;}pData[left]=pData[j];pData[j]=first;if(left<j)QuickSort(pData,left,j);if(right>i)QuickSort(pData,i,right);}publicstaticvoidmain(String[]args){double[][]A=newdouble[365][9];//全部数据从excel输入double[]err=newdouble[365];Workbookbook=null;try{book=Workbook.getWorkbook(newFile("C:/Users/HP/Desktop/Test.xls"));}catch(FileNotFoundExceptione){e.printStackTrace();}catch(BiffExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}//getaSheetobject.Sheetsheet=book.getSheet(0);//get1st-Column,1st-Rowcontent.introws=sheet.getRows();intcols=sheet.getColumns();Cellcell=null;for(inti=0;i<rows;i++){for(intj=0;j<cols;j++){cell=sheet.getCell(i,j);A[i][j]=Integer.parseInt(cell.getContents());System.out.println(A[i][j]);}}book.close();for(inti=0;i<365;i++){//总计循环365次double[]temp=newdouble[9*(i+1)];//存放排完序的数组for(intj=0;j<i;j++){for(intk=0;k<9;k++){temp[j*9+k]=A[j][k];}}Statisticsp=newStatistics();p.QuickSort(temp,0,9*(i+1)-1);//排序//确定分组doublem=(temp[9*(i+1)]-temp[0])/0.05;intn=(int)m+1;//确定分组数double[]B=newdouble[n+1];B[0]=temp[0];//确定分组下限for(intj=1;j<n+1;j++){B[j]=B[j-1]+m;}//频数统计intf[]=newint[n];for(intj=0;j<n;j++){//将初值设置为0f[j]=0;}intk=1;for(intj=0;j<temp.length;j++){while(k!=n){if(temp[j]<B[k]){f[k-1]++;break;}elsek++;}}doubleg[]=newdouble[n];for(intj=0;j<n;j++){//频率统计g[j]=f[j]/(9*(i+1));}//正太拟合下的概率doublemean=0;//求均值for(intj=0;j<temp.length;j++){mean=mean+temp[j];}mean=mean/temp.length;doublesd=0;//求标准差for(intj=0;j<temp.length;j++){sd=sd+(temp[j]-mean)*(temp[j]-mean);}sd=Math.sqrt(sd/temp.length);//double[][]z=newdouble[300][2];double[]pi=newdouble[n];for(intj=0;j<n;j++){pi[j]=(B[j]-mean)/sd-(B[j+1]-mean)/sd;//数组匹配+相关规则}doublemiss=0;for(intj=0;j<n;j++){miss=miss+temp.length/pi[j]*(g[j]-pi[j])*(g[j]-pi[j]);}err[i]=miss;}}}

解决方案

解决方案二:
什么错误你都没说呀?

时间: 2024-09-04 17:47:02

使用java从excel读取二维数组过程中报错的相关文章

Java基础-06.总结二维数组,面向对象

1:二维数组(理解) (1)元素是一维数组的数组.(2)格式:A:数据类型[][] 数组名 = new 数据类型[m][n];B:数据类型[][] 数组名 = new 数据类型[m][];C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};D:数据类型[][] 数组名 = {{...},{...},{...}}; /*二维数组:就是元素为一维数组的一个数组. 格式1:数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有

Java数组排序基础算法,二维数组,排序时间计算,随机数产生

import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System.in); // System.out.println("请输入一个数字"); // int num = s.nextInt(); //打印数组 int []a = {1

C#中读取二维数组每位的长度

C#中的二维数组,如int[,] A=new int[a,b];则 a=A.GetLength(0);即可获得二维数组中第一维的长度. b=A.GetLength(1);即可获得二维数组中第二维的长度.

java操作word-java生成和读取二维码,读取word,

问题描述 java生成和读取二维码,读取word, 毕业设计老师让扫二维码,还有让读取word文档的东西到网页,之后将网页的显示的内容 写入ppt,求大神指教,求所需jar包和源代码. 解决方案 读取word用poi库 二维码用zxing库 具体都自己google下.

Java中增强for循环在一维数组和二维数组中的使用方法_java

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

php输出二维数组

二维数组访问 例1:  代码如下 复制代码 //建立数组 $arr=array("key"=>array("key2"=>"value")); //访问二维数组"key2"元素 echo $arr["key"]["key2"]; 例2: //建立数组 $arr=array(array("key2"=>"value")); //访问

jxl 读取xls,并转为二维数组可进行保存

jxl.jar: 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体.数字.日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要.最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件.另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式. 直接上代码:jxl操作xls其实很简单 import j

在java中一维数组和二维数组有什么区别吗?

问题描述 在java中一维数组和二维数组有什么区别吗? 求大神指点java中一维数组和二维数组的区别,为什么一位数组是一行 二维数组可以定义多行 解决方案 如图黑色的是一维数组红色的是二维数组一维数组用来存数据二维数组用来存一维数组 解决方案二: JAVA中一维数组和二维数组的定义一维数组及二维数组的用法java中arraylist和一维数组二维数组的转换 解决方案三: 一楼正解,一维和二维的区别就是线和面的区别,一维的数组你就可以通过一个下标来准确定位,而二维的就需要有两个就像坐标系一样,一维

c++读取txt文件里的数据,然后保存在二维数组中进行处理

问题描述 c++读取txt文件里的数据,然后保存在二维数组中进行处理 我写的程序是把数据自己输入在主函数里,但是如果想实际的应用应该是有一个数据文件,然后提取出数据文件的数据保存在二维数组中才对,而且这个二维数组要根据具体文件的大小定数组的行列数,有谁能帮我做一下吗,谢谢! #include #include #include using namespace std; #define M 10//二维数组的行 #define N 6//二维数组的列 class Data { double a[M