Java 获得';无法取消对字符的引用错误';使用.toUpperCase()编译代码时;
我是java新手,正在编写一个程序,可以让你输入你的名字和姓氏,并给出你的首字母,但我希望首字母总是大写的 每当我运行代码时,都会出现“char不能被取消引用”错误Java 获得';无法取消对字符的引用错误';使用.toUpperCase()编译代码时;,java,char,dereference,Java,Char,Dereference,我是java新手,正在编写一个程序,可以让你输入你的名字和姓氏,并给出你的首字母,但我希望首字母总是大写的 每当我运行代码时,都会出现“char不能被取消引用”错误 import java.util.*; public class InitialHere { public static void main (String[] args) { Scanner getInput = new Scanner (Syste
import java.util.*;
public class InitialHere
{
public static void main (String[] args)
{
Scanner getInput = new Scanner (System.in);
String firstName;
String lastName;
char firstInitial;
char lastInitial;
System.out.println("What is your first name?");
System.out.println();
firstName = getInput.nextLine();
System.out.println();
System.out.println("Thankyou, what is your last name?");
System.out.println();
lastName = getInput.nextLine();
firstInitial = firstName.charAt(0);
lastInitial = lastName.charAt(0);
firstInitial = firstInitial.toUpperCase();
lastInitial = lastInitial.toUpperCase();
System.out.println();
System.out.println("Your initials are " + firstInitial + "" + lastInitial + ".");
}
}
firstInitial
的类型为char
,它没有方法toUpperCase
。(作为一个原语,它根本没有方法。)改为调用原始的字符串
更新(见评论):的文档说明:
通常,应使用String.toUpperCase()
将字符映射为大写<代码>字符串
大小写映射方法比字符
大小写映射方法有几个优点<代码>字符串大小写映射方法可以执行区域设置敏感映射、上下文敏感映射和1:M字符映射,而字符
大小写映射方法不能
因此,最稳健的方法是使用
String firstName = firstName.trim(); // ignore leading white space
final String firstInitial = firstName.substring(0, firstName.offsetByCodePoints(0, 1)).toUpperCase();
firstInitial
的类型为char
,它没有方法toUpperCase
。(作为一个原语,它根本没有方法。)改为调用原始的字符串
更新(见评论):的文档说明:
通常,应使用String.toUpperCase()
将字符映射为大写<代码>字符串
大小写映射方法比字符
大小写映射方法有几个优点<代码>字符串大小写映射方法可以执行区域设置敏感映射、上下文敏感映射和1:M字符映射,而字符
大小写映射方法不能
因此,最稳健的方法是使用
String firstName = firstName.trim(); // ignore leading white space
final String firstInitial = firstName.substring(0, firstName.offsetByCodePoints(0, 1)).toUpperCase();
firstInitial
的类型为char
,它没有方法toUpperCase
。(作为一个原语,它根本没有方法。)改为调用原始的字符串
更新(见评论):的文档说明:
通常,应使用String.toUpperCase()
将字符映射为大写<代码>字符串
大小写映射方法比字符
大小写映射方法有几个优点<代码>字符串大小写映射方法可以执行区域设置敏感映射、上下文敏感映射和1:M字符映射,而字符
大小写映射方法不能
因此,最稳健的方法是使用
String firstName = firstName.trim(); // ignore leading white space
final String firstInitial = firstName.substring(0, firstName.offsetByCodePoints(0, 1)).toUpperCase();
firstInitial
的类型为char
,它没有方法toUpperCase
。(作为一个原语,它根本没有方法。)改为调用原始的字符串
更新(见评论):的文档说明:
通常,应使用String.toUpperCase()
将字符映射为大写<代码>字符串
大小写映射方法比字符
大小写映射方法有几个优点<代码>字符串大小写映射方法可以执行区域设置敏感映射、上下文敏感映射和1:M字符映射,而字符
大小写映射方法不能
因此,最稳健的方法是使用
String firstName = firstName.trim(); // ignore leading white space
final String firstInitial = firstName.substring(0, firstName.offsetByCodePoints(0, 1)).toUpperCase();
在Java中,原语没有方法,只有装箱类型有方法。如果要获取
字符的大写版本,该类有一个方法:
(对lastInitial
执行相同的操作)在Java中,原语没有方法,只有装箱类型有方法。如果要获取字符的大写版本,该类有一个方法:
(对lastInitial
执行相同的操作)在Java中,原语没有方法,只有装箱类型有方法。如果要获取字符的大写版本,该类有一个方法:
(对lastInitial
执行相同的操作)在Java中,原语没有方法,只有装箱类型有方法。如果要获取字符的大写版本,该类有一个方法:
(对lastInitial
执行相同操作)另一种解决方案:
firstInitial = (char) (firstInitial >= 97 && firstInitial <= 122 ? firstInitial - 32 : firstInitial);
lastInitial = (char) (lastInitial >= 97 && lastInitial <= 122 ? lastInitial - 32 : lastInitial);
firstInitial=(char)(firstInitial>=97&&firstInitial=97&&lastInitial另一种解决方案:
firstInitial = (char) (firstInitial >= 97 && firstInitial <= 122 ? firstInitial - 32 : firstInitial);
lastInitial = (char) (lastInitial >= 97 && lastInitial <= 122 ? lastInitial - 32 : lastInitial);
firstInitial=(char)(firstInitial>=97&&firstInitial=97&&lastInitial另一种解决方案:
firstInitial = (char) (firstInitial >= 97 && firstInitial <= 122 ? firstInitial - 32 : firstInitial);
lastInitial = (char) (lastInitial >= 97 && lastInitial <= 122 ? lastInitial - 32 : lastInitial);
firstInitial=(char)(firstInitial>=97&&firstInitial=97&&lastInitial另一种解决方案:
firstInitial = (char) (firstInitial >= 97 && firstInitial <= 122 ? firstInitial - 32 : firstInitial);
lastInitial = (char) (lastInitial >= 97 && lastInitial <= 122 ? lastInitial - 32 : lastInitial);
firstInitial=(字符)(firstInitial>=97&&firstInitial=97&&lastInitial是什么让你认为在char
上有一个toUpperCase
方法?或者实际上有任何方法?是什么让你认为在char
上有一个toUpperCase
方法?或者实际上有任何方法?是什么让你认为有toUp方法在char
上使用perCase
方法?或者实际上是任何方法?是什么让你认为在char
上有toUpperCase
方法?或者实际上是任何方法?不太正确,OP需要调用。为什么这会“更正确”?如果名称以大写字母表示值超过一个字符的字符开头,则可能会出现问题。但在这种情况下,最可靠的方法是将提取的第一个字符转换为字符串,然后对该字符串调用toUpperCase
。不太正确,OP需要调用。为什么会这样e“more correct”?如果名称以大写字母表示值超过一个字符的字符开头,则可能会出现问题。但在这种情况下,最可靠的方法是将提取的第一个字符转换为字符串,然后对该字符串调用toUpperCase
。不完全正确,OP需要