Как пропустить строки на основе значения размера группы предыдущей строки в Java

#java #selenium #selenium-webdriver #automated-tests

#java #селен #selenium-webdriver #автоматизированные тесты

Вопрос:

Я не могу пропустить следующую строку номер 2 (если размер группы равен 2 в строке 1)

 S.No    title_rcd   passenger_type_rcd  YoungestGroupMember GroupSize   
1   MRS ADULT   ADULT   2   Same Group
2   MR  ADULT   ADULT   2   
3   MR  CHILD   CHILD   1   Unique
4   MR  ADULT   ADULT   1   Unique
5   MR  ADULT   ADULT   2   Same Group
6   MR  INF INF 2   
  

Код:

 for(int r=2;r<=NumberofRows;r  ){

    String  getGroupSize=xlsx.getCellData(SheetName, "GroupSize", r);
    float GroupSize=Float.parseFloat(getGroupSize);
    int ActualGroupSize=(int) GroupSize;
    System.out.println("Number of Pax in Row number " r " is " ActualGroupSize);
    ActualGroupSize=nextrow;
  

Ожидается

 Number of Pax in Row number 1 is 2
Number of Pax in Row number 3 is 1
Number of Pax in Row number 4 is 1
Number of Pax in Row number 5 is 2
  

Как пропустить строки № 2 и 6. В настоящее время с помощью приведенного выше кода я получаю значения из всех строк.

Комментарии:

1. Это таблица на листе Excel: S.No title_rcd passenger_type_rcd YoungestGroupMember Размер группы 1 МИССИС ВЗРОСЛЫЙ ВЗРОСЛЫЙ 2 Та же группа 2 МИСТЕР ВЗРОСЛЫЙ ВЗРОСЛЫЙ 2 3 МИСТЕР РЕБЕНОК РЕБЕНОК 1 Уникальный 4 МИСТЕР ВЗРОСЛЫЙ ВЗРОСЛЫЙ 1 уникальный 5 МИСТЕР ВЗРОСЛЫЙ ВЗРОСЛЫЙ 2 Та же группа 6 МИСТЕР INF INF 2

2. Значение размера группы в предыдущей строке что означает? Вы хотите пропустить, если в размере группы нет значения?

3. размер группы является фиксированным или это может быть 2,4,5 любого числа?

4. Как только размер группы равен 2 в 1-й строке, 2-я строка должна быть пропущена.

5. И что Same Group и unique такое?

Ответ №1:

Возможно, это могло бы сработать:

         int lastgroupsize = 0;
    for(int r=2;r<=NumberofRows;r  ){

        String  getGroupSize=xlsx.getCellData(SheetName, "GroupSize", r);
        float GroupSize=Float.parseFloat(getGroupSize);
        int ActualGroupSize=(int) GroupSize;
        if(lastgroupsize < 2 || (lastgroupsize >= 2 amp;amp; ActualGroupSize < 2)) {
            System.out.println("Number of Pax in Row number " r " is " ActualGroupSize);
        }
        lastgroupsize = ActualGroupSize;
        ActualGroupSize=nextrow;
  

Комментарии:

1. размер последней группы может быть любым значением, например 5 4 2 3.

2. И? Я не уверен, что полностью понимаю требование. Приведенный выше код должен удалить строки 2 и 6 из выходных данных. если предыдущий groupsize равен >= 2, а текущий размер группы < 1, он должен быть напечатан…