1
我目前正在用Java中的Vaadin-Framework編寫Textchat。Java-Chat-App ::分析用戶輸入
現在我的問題:我想避免垃圾郵件的用戶或張貼無用的文字,所以我有一些標準來篩選我userinput(給出一個字符串) - 我怎樣才能做到這一點?
1)檢查單詞比定義WORD_CAP 2)檢查的整體INPUT_CAP 3)檢查當沒有輸入 4)檢查對特定詞語(swaerwords,也許特定的詞長,所以我可以生成對某些單詞的另一個可視化)
目標: 如何在服務器(蜻蜓8)的時間和工作方面最有效地完成此任務以及我應該考慮什麼。任何有經驗的人?
另外這裏是我的ClickListener,該用戶點擊發送消息/輸入
String input = chatInputBox.getValue();
if (input.length() <= MAX_CHAT_ZEICHEN_INPUT) {
if (!(input.length() == 0)) {
if(analyseTooLongWords(input)) {
//More Code here
}
}
}
方法分析字的代碼:
private boolean analyseTooLongWords(String input) {
String[] rows = input.split("\\n");
for(int i = 0; i < rows.length; i++) {
String[] words = rows[i].split(" ");
for (int j = 0; j < words.length; j++) {
if (words[j].length() > MAX_WORD_LENGTH) {
return false;
}
}
}
return true;
}
感謝所有答案提前 問候DJ
「最高效」在什麼方面?空間?時間?可讀性? ... –
通過使用String.indexOf來查找下一個換行符或空格,可以避免在'analyseTooLongWords'中創建不必要的對象;你自己實際上並不需要字符串,前面的分隔符和當前分隔符之間有多少個字符。 –
在我的服務器的時間和工作方面,我不想在這項任務中使用過多的性能。 –