-2
条件が満たされていても、コントロールがループを終了していません。 のサイズが> 1で、foundEmail
が最初の試行で真であっても、ループを終了していない場合と同様です。このdo whileループで何が間違っていますか? 以下のコードで何が間違っているか教えてください。他の人が示唆したように条件が満たされていても、制御がループを終了していませんか?
do {
if(reTry>=1){
Thread.sleep(15000);
}
response = RestAssured.given().accept("application/json").get(url);
String responseBody = response.asString();
JsonPath jsonPath = new JsonPath(responseBody);
List<String> recipientEmailAddressList = jsonPath.get("recipientEmail");
System.out.println("receipeinet email list size "+recipientEmailAddressList.size());
for (int i=0;i<recipientEmailAddressList.size();i++) {
if(recipientEmailAddressList.get(i).equalsIgnoreCase(studentEmail)){
System.out.println(recipientEmailAddressList.get(i));
List<Object> rawRequest = jsonPath.get("rawRequest");
JsonPath rawRequestJsonPath = new JsonPath(rawRequest.get(0).toString());
String claimURL=rawRequestJsonPath.getString("parameters.claim_url");
NewTempData.storedata(6, 1, claimURL);
System.out.println("Credential Claim URL "+claimURL);
foundEmail = true;
}else{
foundEmail = false;
}
}
reTry++;
} while (reTry < 30 &!foundEmail);
if(foundEmail){
return true;
}
を使用することができます本当の(!foundEmail)私は、ループが継続されたところで、応答を出さない。 &と試してみましたが、これは問題を解決しません。 –
@ CraigR8806オペランドがブール値である場合、単一の '&' *は*を表します。左辺が 'false'のときにはショートカットされません。私。 'false&2> 1'の右側は評価されますが、' false && 2> 1'の場合はそうではありません – NickL