我是一个正在学习Java的学生,并且我有以下代码:

lletres = lletres.replace(lletres.charAt(2), codi.charAt(codi.indexOf(lletres.charAt(2)) + 1));


lletres是一个字符串,就像这样

lletres = "BBB"


结果是“ CCC”,我只想更改最后一个B,所以结果可以像这样:“ BBC”。

最佳答案

阅读String.replace的文档应该解释这里发生了什么(我用粗体标记了相关部分):


  返回一个字符串,该字符串是用oldChar替换该字符串中所有newChar出现的结果。


解决该问题的一种方法是将字符串分解成所需的部分,然后再次将其放回原处。例如。:

lletres =  lletres.substring(0, 2) + (char)(lletres.charAt(2) + 1);

关于java - Java错误答案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42437646/

10-08 21:10