Java 将特定位置的字符串值更新2

Java 将特定位置的字符串值更新2,java,Java,首先,s.charAt(4)将返回's'字符,我怀疑您是否希望将其增加2(除非您打算将其更改为'U') 其次,应该使用char变量 最后,我假设您希望修改与从中读取的索引相同的索引,并且您可能希望将其修改为t变量的值,而不是字符“t” { // TODO Auto-generated method stub StringBuilder s = new StringBuilder ("1234S" ); int t = s.charAt(4);

首先,
s.charAt(4)
将返回's'字符,我怀疑您是否希望将其增加2(除非您打算将其更改为'U')

其次,应该使用
char
变量

最后,我假设您希望修改与从中读取的索引相同的索引,并且您可能希望将其修改为
t
变量的值,而不是字符“t”

{
        // TODO Auto-generated method stub

        StringBuilder s = new StringBuilder ("1234S" );

        int t = s.charAt(4);

        t =t+2;

        s.setCharAt(3, 't');
    }

}
}
这对我来说是可行的。谢谢

你好像忘了问问题。有什么问题吗?你期望什么?我想用2tanks-Eran更新字符串中第n个位置的值,但我想更新字符3,它是整数,你能帮我吗。@Sankalphirke,我想我刚刚做了。是的,唯一的问题是,我想更新int值,如果不转换,setCharAt会抛出错误,如果错误不应该出现,请告诉我。接受,他的代码更干净,不需要太多的强制转换。
StringBuilder s = new StringBuilder ("1234S");
char t = s.charAt(3);
t = (char)(t+2); // note that this will return a numeric character only if the original
                 // numeric character was between '0' and '7' 
s.setCharAt(3, t);
public static void main(String[] args) {
    // TODO Auto-generated method stub

    StringBuilder s = new StringBuilder ("1234S" );

    int t = s.charAt(3);

    t =(int) t+2;

    s.setCharAt(3, (char) t);

    System.out.println(s);
}