Java 如何在返回方法中返回循环内的值?
我无法从方法中的循环返回值 我尝试过这种方法:(它返回Java 如何在返回方法中返回循环内的值?,java,loops,methods,return,return-value,Java,Loops,Methods,Return,Return Value,我无法从方法中的循环返回值 我尝试过这种方法:(它返回classname,我的初始化字符串而不是classes.get(I).classname) 请告诉我如何返回classes.get(i).className!!非常感谢:P我不知道您想做什么,但您的代码相当于: public String getClassName() { return classes.get(classes.size() - 1).className; } 你确定这是你想要的吗?如果类可能是空的,您应该小心。我不
classname
,我的初始化字符串而不是classes.get(I).classname
)
请告诉我如何返回
classes.get(i).className
!!非常感谢:P我不知道您想做什么,但您的代码相当于:
public String getClassName() {
return classes.get(classes.size() - 1).className;
}
你确定这是你想要的吗?如果
类
可能是空的,您应该小心。我不知道您想做什么,但您的代码相当于:
public String getClassName() {
return classes.get(classes.size() - 1).className;
}
你确定这是你想要的吗?如果
类
可能是空的,您应该小心。虽然Maroun关于代码只返回类集合中的最后一个值的说法是正确的,但在您的示例中,集合总是空的,因此for循环甚至不会执行一次。确保classes集合包含您认为应该包含的内容 虽然Maroun关于只返回类集合中最后一个值的代码是正确的,但在您的示例中,集合总是空的,因此for循环甚至不会执行一次。确保classes集合包含您认为应该包含的内容 这应该是因为您没有进入for循环,主要是因为您列出的“类”是空的。
你可以这样检查-
if(classes.size()==0)
System.out.println("Classes is empty");
这应该是因为你没有进入for循环,主要是因为你列出的“类”是空的。 你可以这样检查-
if(classes.size()==0)
System.out.println("Classes is empty");
类中没有存储任何内容。确保你有你认为你在做的事情。尝试将其放入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;
}
for(int i=0;i类中没有存储任何内容。请确保在其中包含您认为可以执行的操作。尝试将其放入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;
}
用于(int i=0;iBased on您需要返回什么值?!因为在您的情况下,将返回类列表中的最后一个值。这是否意味着我的代码没有问题,但实际上ArrayList中没有存储任何内容,因此它将返回初始化的值?是和否。从语法上讲,您的代码是正确的,如果列表中有数据,yo你会得到一个不同的输出(不是默认设置的className
),但从逻辑上讲,它不会总是返回列表中的最后一个元素,我真的怀疑你是否想要,因为如果是这样,返回classes.get(classes.size()-1).className;
应该足够了。您甚至不需要遍历列表。@R.J谢谢。但是如果ArrayList类
最初有0项,恐怕使用会返回classes.get(classes.size()-1).className
将获得java.lang.ArrayIndexOutOfBoundsException:-1
错误在返回之前,您可以对此进行空/空检查。就这么简单。此外,由于它是一个列表,因此您将获得。基于您需要返回值的内容?!因为在您的情况下,将返回类列表中的最后一个值。我是否这并不意味着我的代码没有问题,但实际上ArrayList中没有存储任何内容,因此它返回初始化的值?是和否。从语法上讲,您的代码是正确的,如果列表中有数据,您将得到不同的输出(而不是默认设置的className
).但从逻辑上讲,它并不总是返回列表中的最后一个元素,我真的怀疑您是否需要它,因为如果是这样,返回classes.get(classes.size()-1).className;
应该足够了。您甚至不需要遍历列表。@R.J谢谢。但是如果ArrayList类
最初有0项,恐怕使用会返回classes.get(classes.size()-1).className
将获得java.lang.ArrayIndexOutOfBoundsException:-1
错误在返回之前,您可以对此进行空/空检查。就这么简单。此外,由于它是一个列表,您将获得。谢谢!我刚刚尝试过,我得到了此错误:java.lang.ArrayIndexOutOfBoundsException:-1
表示您的类对象为空。@Sue,因为类
为空。这是因为您的类
为空。谢谢。我的程序的其他部分似乎有问题:(谢谢!我刚刚试用过,但发现了以下错误:java.lang.ArrayIndexOutOfBoundsException:-1
表示您的类对象为空。@Sue因为classes
为空。这是因为您的classes
为空。谢谢。我的程序的其他部分似乎有问题:(我明白了!那么这是否意味着类中实际上没有存储任何内容呢?
?是的……这就是我所说的,也是我的意思(现在这个评论足够长了)我明白了!那么这是否意味着类中实际上没有存储任何内容呢?是的……这就是我所说的,也是我的意思(现在这个评论足够长了)