我试图将变量从0-99递增,并且每次都返回该值,但我不确定我是如何做到这一点的。这是我到目前为止的代码:
public int getValue()
{
if (currentState == COUNTING)
{
for (int i = 0; i <= 99; i++)
{
value = i;
}
return value;
} else {
return super.getValue();
}
}
我不确定如何修改它,因为它正在返回99.我知道为什么,但不知道如何完成我想要做的事。
答案 0 :(得分:4)
不幸的是,严格来说,您无法从方法调用中返回多个值。 Java中的方法只能返回单个原始值或Object ..
您的代码返回99,因为当循环结束执行时,循环变量'i'的最终'值'为99。相反,您应该尝试在整数数组中返回值保持。
答案 1 :(得分:1)
在java中,一个函数只能返回一次;在那一点上它退出了该功能。您可能对this question感兴趣。
所以简短的回答是否定的。如果您可以提供更多关于您要完成的内容的上下文,则可以尝试帮助解释在Java中执行此操作的好方法。
答案 2 :(得分:0)
您可以创建static
成员并在每次通话时递增。
class MyClass
{
private static int value = 0;
public int getValue
{
if ( value >= 99 )
return value; //or throw exception, whatever
else
return value++;
}
}
编辑:如果您的getValue
绑定了该课程的实例,则无需value
成为static
。如果您希望对方法的每次调用都返回一个增量值,无论调用它的对象如何,都必须将其设为static
。
答案 3 :(得分:0)
如果您需要保留格式,对于自己行中的每个数字,则需要添加新行 \ n 或 endl 。
如果您只想使用单一方法和单次返回打印1-99,则需要使用数组。
答案 4 :(得分:0)
有一个维护值的类变量,然后每次调用getValue()时返回递增的值
private int value=0;
public int getValue()
{
if (currentState == COUNTING)
{
return value++;
}
else
return super.getValue();
}