【问题标题】:Getting value to increment and return after each incrementation每次递增后获取值递增并返回
【发布时间】:2012-03-14 08:54:16
【问题描述】:

我正在尝试从 0-99 递增一个变量,并每次都返回该值,但我不确定如何做到这一点。这是我到目前为止的代码:

public int getValue()
{
  if (currentState == COUNTING)
  {
    for (int i = 0; i <= 99; i++)
    {
      value = i;
    }

    return value;      

  } else {
    return super.getValue();   
  }
} 

我不确定如何修改它,因为目前它返回 99。我知道为什么,但不知道如何完成我想要做的事情。

【问题讨论】:

    标签: java methods return


    【解决方案1】:

    不幸的是,严格来说,您不能从方法调用中返回多个值。 Java 中的方法只能返回一个原始值或 Object..

    您的代码返回 99,因为当 for 循环完成执行时,循环变量“i”的最终“值”是 99。相反,您应该尝试将值保存在整数数组中。

    【讨论】:

      【解决方案2】:

      在java中一个函数只能返回一次;此时它退出该功能。您可能对this question 感兴趣。

      所以简短的回答是否定的。如果您可以提供更多关于您要完成的任务的背景信息,则可以尝试帮助解释用 Java 完成此任务的好方法。

      【讨论】:

        【解决方案3】:

        您可以创建一个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

        【讨论】:

          【解决方案4】:

          如果您需要保留格式,对于单独一行中的每个数字,您需要添加一个新行 \nendl

          如果您尝试使用单个方法和单个返回来简单地打印 1-99,则需要使用 数组

          【讨论】:

            【解决方案5】:

            有一个类变量来维护值,然后每次调用 getValue() 时返回递增的值

            private int value=0;
            public int getValue()
            {
              if (currentState == COUNTING)
              { 
                return value++;
              }
              else
                return super.getValue();   
            } 
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2022-11-30
              • 1970-01-01
              • 2017-03-03
              • 2023-03-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-06-22
              相关资源
              最近更新 更多