在java中,从具有多个循环的方法返回单个字符串
我是一个Java新手,很难从一个有多个for循环的方法返回一个字符串,每个循环迭代25次,每次迭代返回一个通过/失败。我试图弄清楚如果任何for循环返回一个“fail”,那么该怎么做。总体方法返回一个fail,否则它只返回一个“pass”?下面是我的一个通用代码在java中,从具有多个循环的方法返回单个字符串,java,for-loop,Java,For Loop,我是一个Java新手,很难从一个有多个for循环的方法返回一个字符串,每个循环迭代25次,每次迭代返回一个通过/失败。我试图弄清楚如果任何for循环返回一个“fail”,那么该怎么做。总体方法返回一个fail,否则它只返回一个“pass”?下面是我的一个通用代码 public String myMethod (String string, String string2) { for (int i = 0; i < 25 ; i++){ B = string1
public String myMethod (String string, String string2) {
for (int i = 0; i < 25 ; i++){
B = string1 + i + string 2;
if (B.equals("something"){
return "Pass";
}else{
return "Fail";
}
for (int j = 0; j < 25 ; j++) {
C = string3 + i + string 4;
if (C.equals("something")){
return "Pass";
}else{
return "Fail";
}
for (int k = 0 ; k < 25 ; k++) {
D = string4 + i + string 5;
if (D.equals("something")){
return "Pass";
}else{
return "Fail";
}
}
publicstringmymethod(stringstring,string2){
对于(int i=0;i<25;i++){
B=string1+i+string2;
如果(B)等于(“某物”){
返回“通行证”;
}否则{
返回“失败”;
}
对于(int j=0;j<25;j++){
C=串3+i+串4;
如果(C.等于(“某物”)){
返回“通行证”;
}否则{
返回“失败”;
}
对于(int k=0;k<25;k++){
D=串4+i+串5;
如果(D等于(“某物”)){
返回“通行证”;
}否则{
返回“失败”;
}
}
只需使用一个变量,默认值为PASS
public String myMethod (String string, String string2) {
String result = "Pass";
for (int i = 0; i < 25 ; i++){
B = string1 + i + string2;
if (!B.equals("something"){
result = "Fail";
}
}
for (int j = 0; j < 25 ; j++) {
C = string3 + i + string4;
if (!C.equals("something")){
result = "Fail";
}
}
for (int k = 0 ; k < 25 ; k++) {
D = string4 + i + string5;
if (!D.equals("something")){
result = "Fail";
}
}
//return the final result, which is fail if it fails one ore more times
return result;
}
publicstringmymethod(stringstring,string2){
字符串result=“Pass”;
对于(int i=0;i<25;i++){
B=string1+i+string2;
如果(!B.equals(“某物”){
结果=“失败”;
}
}
对于(int j=0;j<25;j++){
C=string3+i+string4;
如果(!C.equals(“某物”)){
结果=“失败”;
}
}
对于(int k=0;k<25;k++){
D=string4+i+string5;
如果(!D.equals(“某物”)){
结果=“失败”;
}
}
//返回最终结果,如果失败一次或多次,则返回fail
返回结果;
}
旁注:不确定字符串B、C、D String1…等的声明。如果尚未声明,请注意
如果任何for循环返回“fail”,则overall方法返回fail
for
-循环不返回值。循环中的那些return
语句为整个方法返回值。但是,这应该不是什么问题,因为您可以按照
public String myMethod(String string1, String string2) {
for (int i = 0; i < 25; i++) {
B = string1 + i + string2;
if (!B.equals("something"))
return "Fail"; // we know the entire method should
// return "Fail" here
}
// other loops, same format
return "Pass"; // we know nothing returned "Fail" at this point,
// so we return "Pass"
}
publicstringmymethod(stringstring1、string2){
对于(int i=0;i<25;i++){
B=string1+i+string2;
如果(!B.equals(“某物”))
返回“Fail”;//我们知道整个方法应该
//在此处返回“失败”
}
//其他循环,相同格式
return“Pass”;//我们不知道此时返回了什么“Fail”,
//所以我们返回“通行证”
}
请注意,这种短路式方法比使用该方法的结果维护变量更有效,因为一旦我们知道其返回值应该是什么,就不会浪费时间继续使用该方法。没有
字符串[1345]
在此代码中定义。如果没有完整的代码,以及如何调用myMethod
,就不可能有任何帮助。您在哪里定义了string3
、string4
等?因此,我看不到他的完整类代码,因此将其作为旁注。