如何在for循环中检查条件并打印语句一次?

时间:2013-10-08 09:24:20

标签: java selenium-webdriver nested-loops conditional-statements

我有一些嵌套代码,我想检查它的条件并打印一次语句。但是我不知道如何改进for循环或者这是这个situstin使用的理想循环。我写了这个,我打印了你好4次打印..我想要打印一次..请帮忙。

countDev = dev.findElements(
                By.xpath("html/body/form/div[2]/div[2]/ul/li")).size();
        countProd = prod.findElements(
                By.xpath("html/body/form/div[2]/div[2]/ul/li")).size();

        System.out.println(countDev);
        System.out.println(countProd);

        if (countDev == countProd) {

            for (int list = 1; list <= countDev; list++) {

                if (dev.findElement(
                        By.xpath("/html/body/form/div[2]/div[2]/ul/li[" + list
                                + "]/a/span"))
                        .getText()
                        .equals(prod.findElement(
                                By.xpath("/html/body/form/div[2]/div[2]/ul/li["
                                        + list + "]/a/span")).getText())) {


                }
                System.out.println("Hello!");

            }



        } else {

            System.out.println("Bye, Bye!");

        }

3 个答案:

答案 0 :(得分:2)

不确定你想要达到的目的,但只需在那里放一个标志,并在打印完成后将其设为真。

boolean printed =false;
for (int list = 1; list <= countDev; list++) {
         if (your condtion here ) {
           if(!printed ){
             System.out.println("Hello!");
            printed = true;
             }

          }
     }

答案 1 :(得分:0)

如果countDev和countProd等于4

,则此循环将执行四次
for (int list = 1; list <= countDev; list++)

另外,你的if语句是空的,你的'Hello'打印语句在if之外但在循环内

答案 2 :(得分:0)

HLO。 Buddy ..我无法理解你...尝试这个代码..

countDev = dev.findElements(
            By.xpath("html/body/form/div[2]/div[2]/ul/li")).size();
    countProd = prod.findElements(
            By.xpath("html/body/form/div[2]/div[2]/ul/li")).size();

    System.out.println(countDev);
    System.out.println(countProd);

    if (countDev == countProd) {

        for (int list = 1; list <= countDev; list++) {

            if (dev.findElement(
                    By.xpath("/html/body/form/div[2]/div[2]/ul/li[" + list
                            + "]/a/span"))
                    .getText()
                    .equals(prod.findElement(
                            By.xpath("/html/body/form/div[2]/div[2]/ul/li["
                                    + list + "]/a/span")).getText())) {
  System.out.println("Hello!");
break;


            }

        }



    } else {

        System.out.println("Bye, Bye!");

    }