获取错误。线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:3

时间:2014-02-10 12:28:14

标签: java selenium-webdriver

package RoughWork;

import com.omnitech.util.Xls_Reader;

public class TestDataExtract2 {

    public static void main(String[] args) {
        Xls_Reader x = new Xls_Reader(System.getProperty("user.dir")+"\\src\\com\\omnitech\\xls\\TestSuiteA.xlsx");     
        getData(x,"TestCase_1");

    }

    public static Object[][] getData(Xls_Reader xls, String testCaseName){
        if(! xls.isSheetExist("TestCase_1")){
            xls=null;
            return new Object [1][0]; 
        }

        int rows = xls.getRowCount("TestCase_1");
        int col = xls.getColumnCount("TestCase_1");
        //System.out.println("rows are --" + rows);
        //System.out.println("col are --" + col);

        Object[][] data = new Object[rows-1][col-4];
        for(int rowNum=2;rowNum<=rows;rowNum++){
            for(int colNum=0;colNum<=col-3;colNum++){

                data[rowNum-1][colNum] = xls.getCellData(testCaseName,rowNum, colNum);
                //System.out.print(xls.getCellData(testCaseName, colNum, rowNum)+"--");{
                    //System.out.println();
                }
            }


        return data;

    }


}

我无法执行上述代码,如果我尝试调试,则不会得到任何结果。

1 个答案:

答案 0 :(得分:0)

我可以在 for循环

中看到您的问题

首先:您从rowNum = 2开始循环,数组中的第一个索引将是rowNum - 1,这意味着您将从索引1而不是{{1}开始}}

:数据数组中的列数为0 如果我们假设col - 4 col = 6 和你的for循环:从no. of column = 6-4=20(你在数据列中只有2个元素)----&gt;所以在这里你将获得col-3=3