java中从中间字符到大写字符的转换

java中从中间字符到大写字符的转换,java,Java,它不工作-我想转换10个位置的字符toUppercase()。如何执行此操作?您的StringBuffer名为strbuff,但您正在第二行访问一个(未定义的)strb 即使这只是一个输入错误,第二行除了创建一个新变量ch,什么也不做,但它不使用它来构造一个新字符串。您的StringBuffer被命名为strbuff,但您正在访问第二行上的一个(未定义的)strb 即使这只是一个输入错误,第二行除了创建一个新变量ch,什么也不做,但它不使用它来构造一个新字符串。toUpperCase()是字符串

它不工作-我想转换10个位置的字符
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()
不是。看我上面的例子,我知道这一点。您的edit
toUpperCase()是String/Character类的方法现在可以了