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