2017-10-28 126 views
-3

我的枚舉是一週中的幾天。我想寫方法prevDay(),這將改變每個如何通過void方法修改枚舉? <Java>

Day day 

類型,使之等於

Day.MON 

我拿到的時候我叫下面的代碼中的錯誤:

錯誤 - 左賦值的一面必須是一個變量。

public enum Day { 

    MON, TUE, WED, THU, FRI, SAT, SUN; 

    public static main(String[] args){ 
     Day d= Day.TUE; 
     d.prevDay(); 
    } 
    public void prevDay(){ 
     this=Day.MON; 
    } 

} 

但如果我叫:

public enum Day{ 
MON, TUE, WED, THU, FRI, SAT, SUN; 


    public static main(String[] args){ 
      Day d= Day.TUE; 
      d=d.prevDay();// if I change this line to: "d.prevDay() " 
    }     // will day also be modified? 

    public Day prevDay(){ 
      return Day.MON; 
    } 
} 

沒有錯誤。爲什麼?

+0

這是什麼語言?錯誤告訴你什麼?你打算怎麼調用這個方法? – David

+0

給我-4000 downvote或告訴我我的問題需要修改,以便讓它更好,因爲我不知道。 – grzegorzs

+0

(1)最初你沒有指定錯誤,你至少已經稍微糾正了這個錯誤。 (2)你還沒有指定這是什麼*語言*。 (3)'return = Day.MON;'似乎*非常不可能*運行沒有錯誤,我從來沒有見過這種語法。 (4)你想完成什麼?爲什麼?注意指定你在說什麼和你問什麼。如果你的問題對你來說不夠重要,那麼不值得我們的關注。 – David

回答