0

我有一些嵌套代码,我想检查它的条件并打印一次语句。但我不知道如何改革 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!");

        }
4

3 回答 3

2

不确定您要达到的目标,但只需在此处放置一个标志,并在打印完成后使其为真。

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

          }
     }
于 2013-10-08T09:26:51.737 回答
0

如果 countDev 和 countProd 等于 4,此循环将执行四次

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

此外,您的 if 语句为空,并且您的“Hello”打印语句在 if 之外但在循环内

于 2013-10-08T09:30:27.787 回答
0

喂。伙计..我不能清楚地理解你...试试这个代码..

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!");

    }
于 2013-10-08T09:36:45.823 回答