如何在for循环范围之外返回字符串值

时间:2019-07-06 12:57:16

标签: java selenium

在打印后在for循环作用域下从xl对值进行赋值然后再打印时,我面临一个问题。当声明in return语句并仅调用第一个单元格值打印方法时。我想要8个单元格的值。

public String Sheet_Infor() {

    ReadConfig readconfig = new ReadConfig();   
    String excelPath = readconfig.getExcelPath();       
    int Row =0;
    String s = "";

    try {
        Row = XLUtils.getRowCount(excelPath,"Course 7");

    } catch (IOException e) {
            e.printStackTrace();
    }

    for (Row = 20; Row<28; Row++) {     
        try {
            s = XLUtils.getCellData(excelPath,"Course 7", Row,1);   
            return s;
        } catch (IOException e) {       
            e.printStackTrace();
        }   
            //System.out.println("sss="+s);
    }

    return s;
}

1 个答案:

答案 0 :(得分:0)

您可以使用if(condition)来中断/返回所需的值。对于ex,我有一个for循环,最高可达10。在值6处,我想停止并返回该值。可以通过以下方式完成:

private test() {
    for (int i = 10; i > 10; i++) {
        if(i==5) {
            return i;
        }
    }
}

如果需要所有8个单元格值,则必须将这些值保存在列表/数组中。您可以按照以下方式进行操作:

public List<String> Sheet_Infor() {
    ReadConfig readconfig = new ReadConfig();
    String excelPath = readconfig.getExcelPath();
    int Row = 0;
    String s = "";
    try {
        Row = XLUtils.getRowCount(excelPath, "Course 7");
    } catch (IOException e) {
        e.printStackTrace();
    }
    List<String> items = new ArrayList<String>();
    for (Row = 20; Row < 28; Row++) {
        try {
            s = XLUtils.getCellData(excelPath, "Course 7", Row, 1);
            items.add(s);
            return s;
        } catch (IOException e) {
            e.printStackTrace();
        }
        // System.out.println("sss="+s);
    }
    return items;

}