2011-11-07 65 views
0

我已經將該對象稱爲client1(只是一個名稱)並且它包含(String description,int rating)的屬性其上的字符串是Dark Hair,並且該評級這是一個比賽制作程序。無論如何,我想比較方法getCompatability()中的Client1(「黑髮」,7); 所以用這種方法我想返回兩個匹配特徵的兼容性度量,或者如果描述不匹配,那麼只是一個零。所以這就是我想要做的嘗試將已建立的對象與另外兩個變量進行比較

public return_type getCompatability(Characteristics otherRating) {把對象已經啓動的黑髮和7並將它們設置爲變量,以便我可以將它們與輸入的第二個進行比較。 }

一旦我把它們全都放在變量中,比較兩者將會很簡單。 還有另一種方法來比較兩個對象,也許getCompatability(對象,對象)比較兩個對象的變量。

回答

0

我想你想要的是這樣的:

public class Characteristic { 
    private String description; 
    private int rating; 

    public Client(String description, int rating) { 
     this.description = description; 
     this.rating = rating; 
    } 

    public int getCompatability(Characteristic otherRating) { 
     if (description == null && otherRating.description != null || !description.equals(otherRating.description)) { 
      return 0; 
     } 

     int compatability; 
     // Perform comparison to calculate "compatability". 
     return compatability; 
    } 
} 

然後,它可以調用說:

Characteristic client1 = new Characteristic("Dark Hair", 7); 
Characteristic client2 = new Characteristic("Dark Hair", 4); 
Characteristic client3 = new Characteristic("Light Hair", 6); 
client1.getCompatability(client2); // Returns non-zero compatability since descriptions are the same 
client1.getCompatability(client3); // Returns zero compatability since descriptions are different 
client2.getCompatability(client3); // Returns zero compatability since descriptions are different 
0

可以使用

client1.getCompatiblity(client2); 



eg: 
class ClientDetails { 
    String description; 
    int rating; 
    //getter, setter 

    public int getCompatibility(Object client) { 
     //add null check & obj type check 
     ClientDetails client1 = (ClientDetails) client; 
     int count = 0; 
     if (description.equals(client1.getDescription()) { 
      count ++; 
     } 
     if (rating == client1.getRating()) { 
      count ++; 
     } 
     return count; 
    } 
} 
相關問題