Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.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 while循环中不可访问的变量?_Java - Fatal编程技术网

Java while循环中不可访问的变量?

Java while循环中不可访问的变量?,java,Java,为什么我的变量在下面的循环方法中不可访问(i++不可访问) 公共字符串returnFailedImages(){ int i=0; 而(i

为什么我的变量在下面的循环方法中不可访问(i++不可访问)

公共字符串returnFailedImages(){
int i=0;
而(i”;
i++;
}
返回null;
}
如果我使用for循环(没有使用i++),也是这样吗

公共字符串returnFailedImages(){
对于(int i=0;i”;
}
返回null;
}

因为您的返回语句在
i++行之前

在使用
i++
到达行之前,您将从您的方法返回。我怀疑您想要构建一个结果,在该结果之前,您需要对每个不同的
I
进行扩展,以便在最后返回此构造。

根据方法的名称,您需要返回多个元素。您可以返回一个
列表
,或者连接失败图像的所有
字符串

public String returnFailedImages() {
    StringBuilder result = new StringBuilder();
    for(int i = 0;i < failedScreenshotImages.size(); i++) {
        result.append("<img src='" + failedScreenshotImages.get(i) + "'" + ">" + "</br>");
    }
    return result.toString();
}
公共字符串returnFailedImages(){
StringBuilder结果=新建StringBuilder();
对于(int i=0;i”);
}
返回result.toString();
}
执行此操作时:

while(i < failedScreenshotImages.size()) {
        return "<img src='" + failedScreenshotImages.get(i) + "'" + ">" + "</br>";
        i++;
}

然后您可以迭代数组以获取图像。

返回语句将控件交给调用它的函数,并可以将一些值/对象放入堆栈。(返回值。)


您在代码中放置了一个字符串(
i++
无法访问,因为您在该语句之前返回了值。感谢消息可能重复。您可以添加您将使用的代码吗?请查看Eran的答案。
public String returnFailedImages() {
    StringBuilder result = new StringBuilder();
    for(int i = 0;i < failedScreenshotImages.size(); i++) {
        result.append("<img src='" + failedScreenshotImages.get(i) + "'" + ">" + "</br>");
    }
    return result.toString();
}
while(i < failedScreenshotImages.size()) {
        return "<img src='" + failedScreenshotImages.get(i) + "'" + ">" + "</br>";
        i++;
}
public String[] returnFailedImages() {
  int i = 0;
  String[] res = new String[failedScreenshotImages.size()];
  while(i < failedScreenshotImages.size()) {
      res[i] = "<img src='" + failedScreenshotImages.get(i) + "'" + ">" + "</br>";
      i++;
  }
  return res;
}