2012-02-23 31 views
1

我想從0-99增加一個變量,並且每次都返回該值,但我不確定如何執行此操作。這是我的代碼至今:在每次增量後獲得增值和返回值

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

    return value;  

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

我不知道我怎麼能修改這一點,因爲此刻它返回99.我知道爲什麼,但不知道如何完成我是什麼試圖去做。

回答

4

不幸的是,嚴格來說,你不能從方法調用中返回多個值。 Java中的方法只能返回一個原始值或對象..

您的代碼返回99,因爲當for循環完成執行時,循環變量'i'的最終'值'爲99。相反,您應該嘗試返回整數數組中的值。

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綁定到類的實例,就沒有必要做一個valuestatic。如果您希望方法的每個調用都返回一個增量值,而不管調用的對象是什麼,則必須使其成爲static

0

如果你需要保存的格式,對自己的行每個號碼,那麼你將需要追加新行\ nENDL

如果您嘗試使用單個方法和單個返回來簡單打印1-99,則需要使用陣列

1

在java中,一個函數只能返回一次;此時它退出該功能。您可能對this question感興趣。

所以簡短的答案是否定的。如果您可以提供更多關於您想要完成的內容的背景信息,可以試着幫助解釋一種在Java中執行此操作的好方法。

0

有一個類變量,保持值,則每次的getValue()被調用

private int value=0; 
public int getValue() 
{ 
    if (currentState == COUNTING) 
    { 
    return value++; 
    } 
    else 
    return super.getValue(); 
} 
返回增加後的值