报错:
Exception in thread "main" java.util.IllegalFormatArgumentIndexException: Illegal format argument index = 0
at java.base/java.util.Formatter$FormatSpecifier.index(Formatter.java:2803)
at java.base/java.util.Formatter$FormatSpecifier.(Formatter.java:2872)
at java.base/java.util.Formatter.parse(Formatter.java:2729)
at java.base/java.util.Formatter.format(Formatter.java:2671)
at java.base/java.util.Formatter.format(Formatter.java:2625)
at java.base/java.lang.String.format(String.java:3290)
at toolgood.words.internals.BaseMatch.MatchKeywordBuild(BaseMatch.java:188)
at toolgood.words.internals.BaseMatch.SetKeywords(BaseMatch.java:362)
at toolgood.words.DemoApplication.test_StringMatch(DemoApplication.java:348)
at toolgood.words.DemoApplication.main(DemoApplication.java:35)
原因分析:主要是因为在BestMatch中,stringBuilder.append("%" + parameterIndex + "$s");格式化索引的问题,应该从1开始,而不是从零。
解决:改成stringBuilder.append("%" + (parameterIndex+1) + "$s");
有没有测试例子,目前,本人java环境用的比较少。。。