在我的作业中,禁止使用集合和任何数组。我们可以使用字符串标记器,但是除了string和system之外的任何其他类都是不允许的。此解决方案必须处理任意数量的条目。
我有一个字符串,看起来像这样:
1|Aaron|Peter|3063543030|john@gmail.com + "\n"
2|Buffet|Anthony|3063543030|john@gmail.com + "\n"
3|Dunty|Richard|3063543030|john@gmail.com
例如,如果条目是4 | doe | john | 3063543030|john@gmail.com 然后使用comparetoignorecase()进行比较,并在3 | dunty | richard | 3063543030之前插入条目|john@gmail.com
这里我有一个获取条目名称的方法,它使用字符串标记器:
public static String obtenirNomContact (String contactLigne) {
StringTokenizer tokenizer = new StringTokenizer(contactLigne, "|");
String id = tokenizer.nextToken();
String nom = tokenizer.nextToken();
String prenom = tokenizer.nextToken();
return nom;
}
在这个方法中,我在字符串中插入条目,并使用compareTognoreCaseMethod()进行比较
public static String insertEntryInString
(String myString, String entry) {
int result = 0;
String entryName = "";
String myString = "";
String entry = "";
String nameInString = "";
if (myString != null) {
myString += entry + "\n";
do {
entryName = getContactName(entry);
nameInString = getContactName(myString);
result = entryName.compareToIgnoreCase(nameInString);
if (result < 0) {
entry += entryName + "\n";
entry += nameInString + "\n";
} else {
entry += nameInString + "\n";
entry += entryName + "\n";
}
} while (result > 0);
myString += entry + "\n";
System.out.println(myString);
}
return myString;
}
我现在要做的是在比较结果等于1或0时才在字符串中插入条目,但没有成功。
如果有人能帮我解决这个问题,我将不胜感激。
谢谢
1条答案
按热度按时间hs1ihplo1#
假设实现了以下helper方法来获取联系人的姓氏和姓名:
然后将新联系人插入到按
'\n'
可重写如下:测试:
输出: