好的,所以我被困住了,我相信这是一个简单的解决方案。基本上我开始初步转换,或者至少构建一个演示,用于关键词驱动的硒测试框架。每行将包含将用于驱动测试的数据。行完成后,下一行将包含下一个测试,依此类推。所以我刚刚开始,我遇到了一些麻烦。这是我的代码:
public List<String> getRowData(String row){
Sheet sheet = null;
List<String> getContents = new ArrayList<>();
try{
sheet = getWorkBook().getSheet("test");
for(int i=0; i<sheet.getRow(i).length; i++){
getRowData = sheet.getRow(i);
for(Cell rowData : getRowData){
System.out.print(String.format("Row info: %s\n", rowData.getContents()));
getContents.add(rowData.getContents());
}
}
}catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
System.out.print("This is an exception!");
} catch (NullPointerException np){
System.out.print("File does not exist!");
}return getContents;
}
例外的字符串只是占位符,而不是最终的。但我得到一个ArrayIndex ....例外。我确实理解了为什么我会收到错误,但是当行或行内容为空时,我试图明显地突破循环。我实施了一个条件
if(sheet.getRow(i) == null){
break;
}
但它仍然评估并提供相同的例外。我被困住了,希望你在没有内容时试图突破循环。谢谢
答案 0 :(得分:0)
更改for(int i=0; i<sheet.getRow(i).length; i++)
为:
for(int i = 0; i < sheet.getRows(); i++){
if(sheet.getRow(i) == null) break;
//rest of the code
}
但是你确定要在空行上打破循环而不是继续下一行吗?