2012-12-05 53 views
-2

我必須創建一個將對象作爲參數傳遞並比較兩個MyString對象的方法。Int compareTo(object obj)

int compareTo(MyString anotherString) 
  • 返回-1如果此對象是小於參數對象。
  • 回報0如果兩個MyStrings匹配
  • 回報+1如果此對象比參數對象

我也必須作出一個將傳遞一個字符串,並將其與對象和一個更大的將比較兩個對象並忽略這些情況。問題是我不得不重複代碼。一個僞代碼會有幫助,但是解釋我做錯了什麼,一個例子是非常有必要的。

 public int compareTo(BigString ob) 
    { 
     BigString comp; 
     for(int i =0;i < SIZE;i++) 


     if(thatArray[i] > comp.thatArray[i]) 
     { 
      return 1; 
     } 
      else if(thatArray[i] == comp.thatArray[i]) 
      { 
      return 0; 
      } 
      else if(thatArray[i] < comp.thatArray[i]) 
      { 
      return -1; 
      } 
    } 
+0

它看起來並不像你已經付出了很多努力去解決你自己的問題...... – jahroy

+0

好吧,這是我得到和idk還有什麼要做Google搜索沒有幫助API不幫助 – javip

回答

1

-如果你的主要目的是比較String對象,並對其進行排序,然後更好地去java.lang.Comparable<T>

-如果你想多個屬性的基礎上,比較兩個對象,並對其進行排序,然後用java.util.Comparator<T>

這裏看到這個例子:

http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/

+0

嗯,我仍然在介紹中,我可以得到一個簡化的版本。我還沒有得到所有的實用程序。或任何langs – javip

+1

@javip:現在是時候了。 – siride

1

當一對字符匹配和忽略輸入的其餘您的函數返回0。但是,在這種情況下,它應該繼續下一個字符。

使用此方法比較字符串或char數組是不安全的,因爲它純粹依賴於字符的數字值,這不一定與字母順序相同。您應該使用String.compareTo(String)方法,因爲它還會檢查輸入的大小。要檢查大小寫,只需將String對象轉換爲大寫/小寫,然後進行比較。

+0

嗯它似乎更有意義使用字符串int compareTo是我必須使用的。 nd哦,我有一個toLowerCase和另一個程序中的toUpperCase方法,所以我想我可以在方法中調用它 – javip

相關問題