java中从中间字符到大写字符的转换
它不工作-我想转换10个位置的字符java中从中间字符到大写字符的转换,java,Java,它不工作-我想转换10个位置的字符toUppercase()。如何执行此操作?您的StringBuffer名为strbuff,但您正在第二行访问一个(未定义的)strb 即使这只是一个输入错误,第二行除了创建一个新变量ch,什么也不做,但它不使用它来构造一个新字符串。您的StringBuffer被命名为strbuff,但您正在访问第二行上的一个(未定义的)strb 即使这只是一个输入错误,第二行除了创建一个新变量ch,什么也不做,但它不使用它来构造一个新字符串。toUpperCase()是字符串
toUppercase()
。如何执行此操作?您的StringBuffer
名为strbuff
,但您正在第二行访问一个(未定义的)strb
即使这只是一个输入错误,第二行除了创建一个新变量
ch
,什么也不做,但它不使用它来构造一个新字符串。您的StringBuffer
被命名为strbuff
,但您正在访问第二行上的一个(未定义的)strb
即使这只是一个输入错误,第二行除了创建一个新变量ch
,什么也不做,但它不使用它来构造一个新字符串。toUpperCase()
是字符串/字符类的方法,它不能应用于本机字符类型。
PS:请注意,strbuff.charAt(9)
将返回一个char
并将其转换为大写,您需要这样调用:
这应该起作用:
StringBuffer strbuff=new StringBuffer("Hello students");
char ch=strb.charAt(9).toUpperCase();
如果要将其设置回StringBuffer:
StringBuffer strbuff=new StringBuffer("Hello students");
char ch=Character.toUpperCase(strbuff.charAt(9));
System.out.println(ch); // D
toUpperCase()
是字符串/字符类的方法,它不能应用于本机字符类型。
PS:请注意,strbuff.charAt(9)
将返回一个char
并将其转换为大写,您需要这样调用:
这应该起作用:
StringBuffer strbuff=new StringBuffer("Hello students");
char ch=strb.charAt(9).toUpperCase();
如果要将其设置回StringBuffer:
StringBuffer strbuff=new StringBuffer("Hello students");
char ch=Character.toUpperCase(strbuff.charAt(9));
System.out.println(ch); // D
我想这就是你需要的
strbuff.setCharAt(9, ch);
我想这就是你需要的
strbuff.setCharAt(9, ch);
假设您要修改字符串:
char ch=Character.toUpperCase(strbuff.charAt(9));
提示1:如果您使用的是当前的Java版本,请使用StringBuilder
,除非您需要线程安全
提示2:不能对
char
调用方法,因为它是基元类型,这就是为什么要使用静态Character\toUpperCase
方法的原因。I假设要修改字符串:
char ch=Character.toUpperCase(strbuff.charAt(9));
StringBuffer strbuff=new StringBuffer("Hello students");
strbuff.setCharAt(9, Character.toUpperCase(strbuff.charAt(9)));
提示1:如果您使用的是当前的Java版本,请使用StringBuilder
,除非您需要线程安全
提示2:不能对char
调用方法,因为它是一种基本类型,这就是为什么要使用静态Character\toUpperCase
方法
StringBuffer strbuff=new StringBuffer("Hello students");
strbuff.setCharAt(9, Character.toUpperCase(strbuff.charAt(9)));
替换为
char ch=strb.charAt(9).toUpperCase();
替换为
char ch=strb.charAt(9).toUpperCase();
您甚至检查了控制台中的错误了吗?您甚至检查了控制台中的错误了吗?
toUpperCase()是String类的方法
——但您刚刚调用了Character的toUpperCase()
class@Rajesh:Character.toUpperCase()
是一个静态方法,但String#toUpperCase()
不是。看我上面的例子,我知道这一点。您的编辑toUpperCase()是字符串/字符类的方法
现在很好了toUpperCase()是字符串类的方法
——但您刚刚调用了Character的toUpperCase()class@Rajesh:Character.toUpperCase()
是一个静态方法,但String#toUpperCase()
不是。看我上面的例子,我知道这一点。您的edittoUpperCase()是String/Character类的方法现在可以了