2013-11-29 50 views
0

我正在做一個大學實驗室,我必須比較一下Moneybags。最初我實例化它們並添加錢等等。我已經有MoneyBag mb0和mb1,但現在我必須將它們與此代碼進行比較......它無法更改。比較兩個對象變量的問題

mb0.compare(mb1); 

該班是MoneyBag。我需要返回「小於」,「等於」或「大於」。 我目前有:

public int compare(MoneyBag mb1){ 
} 

但是,我無法訪問MB0。我可以訪問mb1的int值。我需要比較它們,打印出字符串文字,顯然返回String。我會怎麼做?頂端的代碼不能改變,我必須使第二個代碼從中工作。

+3

它是java ...?以及您的MoneyBag課程設置如何? –

+0

是的,它是java。我的代碼是使用自定義構造,默認構造函數,添加方法設置的,這是我無法從mb0.add訪問的比較方法。我不知道我在做什麼錯誤....談論挫折。我不知道我的標題是否不正確「public int compare(MoneyBag mb1),必須是它,因爲我無法訪問mb0來比較add方法的值 – user3047768

+2

在該方法內部,'this'將引用'mb0'在調用聲明中 – millimoose

回答

1

不管語言如何,您應該可以使用比較函數正文中的內容來訪問mb0。的0

return this.value - mb1.value; 

數值表示「等於」,值大於0意味着「大於」和值小於0意味着「小於」;

祝你好運

+0

我無法訪問:mb0.value – user3047768

+0

對不起,意思是mb1.value。固定 – ohiodoug

+1

請注意,'mb1'應該是「正式」參數的名稱。它可以在調用端用'mb10'作爲參數調用,但如果函數頭調用參數'potato',那就是你使用的。 –