2015-10-06 92 views
0

在我的java編程課程中,我們正在使用類。我有一個任務,基本上告訴我這樣做:通知「CoinStats」類中的實例變量「硬幣」。什麼是「硬幣幣」,它可以做什麼?

import java.util.Random; 
public class Oppgaver5 { 

    public static void main(String[] args) { 

    }//End main  
}//End class Oppgaver5 

class Coin { 
    boolean face; 

    public boolean flip(){ 
     Random side = new Random(); 
     face = side.nextBoolean(); 
     return face; 
    }//End flip  

    public boolean getFace(){ 
     return face; 
    }//End getFace  
}//End class Coin 

這我明白了。但下一部分告訴我要創建另一個類CoinStats和實例變量Coin硬幣。我無法將自己的頭圍繞在應該是的東西上。你可以用它做什麼?

class CoinStats{ 
    Coin coin; 
    String history; 

的什麼IM應該爲assingment做,如果可以更容易地answear其餘:

public boolean flipCoin(){ 
    //Flips the coin and saves the result with addResult 
    }//End flipCoin 

    public boolean getFace(){ 
    //returns which side of the coin is up now  
    }//End getFace 

    private void addResult(boolean result){ 
    //saves the result in history 
    }//End addResult 

    public String getHistory(){ 
    //Returns the history object 
    }//End getHistory 

}//End class CoinStats 
+0

他們要求您使用名爲'coin'的變量是'Coin'(您剛定義的類)。語法'硬幣硬幣'是你如何聲明這個新變量,並指定它是什麼類型。 –

回答

0

Coin coin意味着「創建類硬幣的一個實例,並將其命名爲‘硬幣’ 」。在java中,如果你只使用它的一個實例,在它們的類之後命名變量是非常正常的。之後,您可以訪問CoinStats類中的方法coin.flipcoin.getFace

你也可以用Coin dollar實例類。然後這些方法被dollar.flipdollar.getFace調用。你甚至可以使用Coin CoinStat來實例化它,並使用方法CoinStat.flipCoinStat.getFace,但是用大寫啓動變量名是個不好的做法,因爲它會讓你感到困惑。

+0

是的。你也可以縮短它並使用'public Boolean flipCoin(){return coin.flip();}'。 – Dorian

+0

如果我正確地理解了你,我應該可以做到這一點:'CoinStats {CoinStats} public boolean flipCoin(){ 布爾結果= coin.flip(); return result;}}'並返回'true'或'false'但是當我這樣做時,我得到一個空指針異常。如果我設置'硬幣硬幣=新硬幣();',那麼它的作品... – XerXerXes

+0

對不起,我錯過了。是的,即使您沒有爲該類編寫構造函數,也必須使用'Coin coin = new Coin();'調用Coin的構造函數。 – Dorian