Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,从具有多个循环的方法返回单个字符串_Java_For Loop - Fatal编程技术网

在java中,从具有多个循环的方法返回单个字符串

在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

我是一个Java新手,很难从一个有多个for循环的方法返回一个字符串,每个循环迭代25次,每次迭代返回一个通过/失败。我试图弄清楚如果任何for循环返回一个“fail”,那么该怎么做。总体方法返回一个fail,否则它只返回一个“pass”?下面是我的一个通用代码

    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
等?因此,我看不到他的完整类代码,因此将其作为旁注。