gpt4 book ai didi

java - 维持内部 for 循环直到 List 数组末尾

转载 作者:行者123 更新时间:2023-12-02 11:27:07 26 4
gpt4 key购买 nike

当我使用继续返回到第二个for循环的开头以进入下一次迭代时,它不起作用。我用过break和一些东西。我不知道还能做什么。我的鳕鱼在下面。基本上在测试结束后或者如果条件为假我想返回到第二次 for 循环迭代。

 for (String client: Arrayclients) {

// do some stuff

//** Begin *2nd inner for-loop****

for (int i = 0; i < links; i++) {

PS_OBJ_CycleData.ScrollToTop(driver); // scroll up
List < WebElement > CCTable = driver.findElements(By.cssSelector(selector));
WebElement code = CCTable.get(i);
// changing code to mcode to look for first 3 characters
String mcode = code.getText().substring(0, 3).trim();
System.out.println("\n" + "modified " + mcode);
// System.out.println("\n"+code.getText().substring(0, 3).trim()+"\n");

//----------------------checking for bad code -----------------------------------------
String[] badcodes = {
"5H9",
"5GJ",
"5AX",
"5A4",
"5HD"
};
boolean check = Arrays.asList(badcodes).contains(mcode);
System.out.println(check + "code in array list");
//check == true will work as well
if (check) {
System.out.println(check + "-Bad Code found breaking loop");
continue;
} else {
//checking to make sure element is clickable
PS_OBJ_CycleData.isClickable(code, driver);
System.out.println("Clickable?" + code.isEnabled());
code.click();
}



for (WebElement cc: MulCCodeProcess) {

}
Thread.sleep(2000);
PS_OBJ_CycleData.PreviewPayroll(driver).click();
PS_OBJ_CycleData.VerifyCalcPreviewPayrollBox(driver);

for (int x = 0; x < 9; i++) {
String PreviewStatus = "//table[@id='cppProcessInfoTable_rows_table']//tr[@id='cppProcessInfoTable_row_0']/td[starts-with(@id,'cppProcessInfoTable_row_0_cell_2')]";

List < WebElement > Status = driver.findElements(By.xpath(PreviewStatus));
WebElement status = Status.get(x);
String pstatus = status.getText().trim();
System.out.println("\n" + "status " + pstatus);

String Status1 = "Complete";
String Status2 = "Sucessfull";
String Status3 = "Payroll Delayed";
String Status4 = "Error";

WebElement CalcPreviewPayroll = driver.findElement(By.xpath("//*[contains(@id,'cppBatch_title')]"));

if (CalcPreviewPayroll.isDisplayed() && pstatus.equals(Status1) || pstatus.equals(Status2)) {
PS_OBJ_CycleData.Close(driver).click();
break;
}

if (!CalcPreviewPayroll.isDisplayed()) {
break;
}

if (CalcPreviewPayroll.isDisplayed() && pstatus.equals(Status3) || pstatus.equals(Status4)) {
PS_OBJ_CycleData.Close(driver).click();
PS_OBJ_CycleData.VerifyCycleStatusID(driver);
System.out.println("breaking loop cause " + pstatus);
continue;
}

}

// do some stuff

} //** END 2nd inner for-loop****

} //**END outter for-loop****

最佳答案

我不太确定你所说的“第二个”循环是什么意思。为了清楚起见,我将循环称为内循环和外循环。

Continue 用于本质上跳到 Continue 所在循环的下一次迭代。因此,如果有嵌套循环,将 continue 放置在内循环内部,将跳到其自身的下一次迭代。如果在内循环内部,继续不会对外循环产生任何影响。

如果情况并非如此,那么要么 Java 有问题,要么你的逻辑某个地方有问题。我怀疑Java有什么问题。

尝试使用调试器找出与条件关联的变量的值。您的调试器可以比我们更好地帮助您。

关于java - 维持内部 for 循环直到 List 数组末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49540504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com