這屬於自然語言處理的範疇:NLP,我還沒有在java上看到相關的應用。
但是,您可以參考拼音輸入法,它與輸入法非常相似。但是,成熟的輸入法不能壹次性完全匹配拼音和漢字,這是非常困難的。最多只是匹配,盡量匹配。