任何人都可以幫我嗎? 我有一個方法作爲管理聯繫簿的大型項目的一部分。我需要使用String
,所以沒有數組。如果可能,我想使用compareTo
。如何按字母順序排列通訊錄中的聯繫人?
的描述是:在給定的筆記本:
此方法插入一個接觸線(
6|cori|ben|[email protected]|4502334565的接觸線的爲例)。聯繫線需要按姓氏的字母順序排列。
此方法不驗證dublicates。
參數本書,我們要介紹的接觸線(從參數)的書
我們假設非空的書,而是從開始空。
如果非空,它是這樣形成的:
/*
3|Crevier|Simon|[email protected]|5145678988 (contact line)
1|Douglas|Sylvie|nothing|4507461234
2|Dumoulin|Fred|[email protected]|nothing
4|Girard|Myriam|nothing|nothing
*/
參數contactLine接觸到一個行巫格式化需要加入書
我們假設接觸線非空,非空和格式正確(如例)
插入後新書的新字符串。新的歸還書需要格式正確。
此方法需要使用另一種方法:findLastNameContact()來自同一個類(方法是從聯繫線的前一行獲取姓氏:3 | Crevier |Simon |[email protected] | 5145678988)=> Crevier是這個姓氏。
我們需要忽略這種情況。
/*
----------------------------------------------
METHOD IF CONTACT IS INSERTED IN THE BOOK
----------------------------------------------
Insert 1|crook|hubert|[email protected]|4502765009 in the empty book... ERROR
Expected:
1|crook|hubert|[email protected]|4502765009
Have found:
Instert 2|aubre|Camille|aucun|5149098778... ERROR
Expected:
2|Aubre|Camille|aucun|5149098778
1|crook|hubert|[email protected]|4502765009
Have found:
1|crook|hubert|[email protected]|45027650092|aubre|Camille|aucun|5149098778
1|crook|hubert|[email protected]|4502765009
Instert 3|charland|Marc|[email protected]|nothing... ERROR -
NoSuchElementException unexpected.
Instert 4|mason|Isabelle|aucun|aucun... ERROR - NoSuchElementException unexpected.
Insert 5|fortin|Bruno|[email protected]|5142768898... ERROR - NoSuchElementException unexpected.
Insert 6|ZHE|Xang|[email protected]|4598765423... ERROR - NoSuchElementException unexpected.
Insert 7|morier|Dominic|[email protected]|4598765423... ERROR
Expected:
2|Aubre|Camille|aucun|5149098778
3|CHaRland|Marc|[email protected]|aucun
1|crook|hubert|[email protected]|4502765009
5|Fortin|Bruno|[email protected]|5142768898
4|Mason|Isabelle|aucun|aucun
7|Morier|Dominic|[email protected]|4598765423
6|ZHE|Xang|[email protected]|4598765423
Have found :
2|Aubre|Camille|nothing|5149098778
3|CHaRland|Marc|[email protected]|nothing
1|crook|hubert|[email protected]|4502765009
5|Fortin|Bruno|[email protected]|5142768898
4|Mason|Isabelle|nothing|nothing
6|ZHE|Xang|[email protected]|45987654237|morier|Dominic|[email protected]|4598765423
nothing
6|ZHE|Xang|[email protected]|4598765423
Insertion 8|alban|Roger|[email protected]|5143677788... ERROR - NoSuchElementException unexpected.
*/
public static String InsertThisContactInTheBook
(String book, String contactLine) {
String lastNameContact;
String id, lastName, givenName, email, phone;
String newBook = "";
lastNameContact= findLastNameContact(contactLine);//contact line is from outside, also the findLastNameContact, witch is extraxting la last name from contact line
//6|cori|ben|[email protected]|4502334565| (example of contact line)
StringTokenizer tokens = new StringTokenizer(book, "|");
// newBook = book+ contactLine;
while (tokens.hasMoreTokens()){
id = tokens.nextToken();
lastName = tokens.nextToken();
givenName = tokens.nextToken();
email= tokens.nextToken();
phone= tokens.nextToken();
if (lastName.compareToIgnoreCase(lastNameContact) > 0) {
newBook = book + contactLine + "\n" + id + "|" + lastName + "|" + givenName + "|" + email+ "|" + phone+ "\n";
}
}
return newBook;
}
對不起,用法語提問比較容易。我不知道這些問題只用英文解決。我需要按字母順序排列筆記本中的聯繫人。 –