как вернуть значение строки из области видимости цикла - PullRequest
0 голосов
/ 06 июля 2019

Я сталкиваюсь с проблемой, когда получаю значение из xl после того, как эта печать в области цикла for затем напечатана. когда объявляется оператор 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 голосов
/ 06 июля 2019

Вы можете использовать if (условие), чтобы сломать / вернуть требуемое значение.Например, у меня есть цикл 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;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...