【发布时间】:2023-01-18 02:21:13
【问题描述】:
正如标题所说,我想实现一个函数 pool,它在删除给定字符串的所有元素后返回一个字符列表,这些元素是与另一个字符串在同一索引中的相同字母。由于我为获取给定索引中的元素而编写的代码,它给了我一个 StringIndexOutOfBoundsExceptions。我该如何解决这个问题?
我的实现
def pool(secret: String, word: String) : List[Char] = {
secret.filterNot(x => secret.apply(x) == word.apply(x)).toList
}
测试用例
pool("chess", "caves") => List(h, e, s)
pool("chess", "swiss") => List(c, h, e)
错误信息
java.lang.StringIndexOutOfBoundsException: String index out of range: 99
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
at java.base/java.lang.String.charAt(String.java:1515)
at scala.collection.StringOps$.apply$extension(StringOps.scala:188)
at $anonfun$pool$1(<console>:3)
at $anonfun$pool$1$adapted(<console>:3)
at scala.collection.StringOps$.filterNot$extension(StringOps.scala:1264)
at pool(<console>:3)
... 32 elided
【问题讨论】:
标签: scala