2010-03-21 66 views
1

當我嘗試編譯此:類或接口預期的錯誤(JAVA)

public static int compareCardhl (Card c1, Card c2) 
} 
if (c1.suit > c2.suit) return 1 ; 
if (c1.suit < c2.suit) return -1 ; 
if (c1.rank > c2.rank) return 1 ; 
if (c1.rank < c2.rank) return -1 ; 
return 0; 
} 

我得到了很多類或intereface預期的錯誤。他們都指向if's。在Card c2)的末尾,我也收到; expected錯誤。

這裏怎麼了?

回答

5

第2行支架是錯誤的,應該是{

+0

你的權利。我很注意這樣的事情。 – David 2010-03-21 18:55:38

+1

任何體面的代碼編輯器都可以幫助您使用代碼塊摺疊(aka概述)和括號匹配等功能:如果塊不能摺疊,或者摺疊它的行爲錯誤(隱藏太多或太少的行),則出現問題與塊的括號。將插入符號放在任意一個托架(開啓器或更近)上應突出顯示其相應的一對。 – 2010-03-21 19:09:12

+3

就是這樣?大聲笑。 – 2010-03-21 19:18:04

1

略有建議,如果可以的話,它可能爲你正在嘗試做的,你的卡類實現了Comparator接口更好

public interface Comparator<T> { 
    public int compare(T t1, T t2); 
} 
+0

爲什麼我應該使用比較器接口? – David 2010-03-22 00:52:57

+0

嗨大衛, 比較器接口將爲您提供開箱即用的所有支持它的集合。比較器的定義是: 「返回負整數,零或正整數,因爲第一個參數小於,等於或大於第二個參數。」 看起來你試圖完成同樣的事情,所以不需要重新發明輪子。當您使用已知的界面時,它還將更直觀地使用您的API。 希望這是明確的,如果不是,請讓我知道。 – Ioannis 2010-03-23 01:32:46

相關問題