如何在return方法中返回循环内的值?

时间:2013-10-27 10:54:58

标签: java loops methods return return-value

我在方法中从循环返回一个值时遇到了麻烦。

我尝试过这种方式:(返回classname,我的初始化字符串而不是classes.get(i).className

public String getClassName(){
    String cName = "classname";
    for (int i=0; i<classes.size(); i++){
        cName = classes.get(i).className;
    }
return cName;
}    

我也试过了:(返回c代替classes.get(i).className

public String getClassName(){
    String cName = "classname";
    String c = "c";
    for (int i=0; i<classes.size(); i++){
        c = classes.get(i).className;
    }
    cName = c;
    return cName;
}    

请告诉我如何归还classes.get(i).className !!非常感谢:P

4 个答案:

答案 0 :(得分:1)

没有存储在类中。确保你有你认为你做的。尝试将它放在for循环中以查看发生了什么:

System.out.print("class name = " + cName);

如果这打印不出来,你知道类是空的。在里面 for循环的任何时候,您可以调用 return ,例如,如果类名与您可以在 if 语句中测试的内容匹配

for (int i=0; i<classes.size(); i++){
    cName = classes.get(i).className;
    return cName;
}

另外,你可以投票,或者标记某人是正确的吗? (我很新,并希望得到一些标记为好的答案:))

答案 1 :(得分:0)

我不知道你想做什么,但你的代码相当于:

public String getClassName() {
    return classes.get(classes.size() - 1).className;
}

你确定这是你要归还的吗?如果classes为空,您应该小心,因为您可能会ArrayIndexOutOfBoundsException

答案 2 :(得分:0)

虽然Maroun是正确的代码只返回类集合中的最后一个值,但实际情况是,在您的示例中,集合始终为空,因此for循环甚至不会执行一次。确保类集合包含您认为应该的内容!

答案 3 :(得分:0)

那应该是因为你不进入for循环主要是因为你列出的“类”是空的。 你可以这样检查 -

if(classes.size()==0)
   System.out.println("Classes is empty");