在使用 BlueJ 编写以下代码时,出现了 "Unclosed Character Literal" 错误:
class abc
{
public static void main(String args[])
{
String y;
y = 'hello';
System.out.println(y);
}
}
但我想不出问题出在哪里。
有任何想法吗?
谢谢。
在Java中,单引号只能表示一个字符,必要时需要使用转义。对于字符串你需要如下使用双引号:
y = "hello";
你也使用了
System.out.println(g);
我认为应该是这样的
System.out.println(y);
注意:在制作char
值(您可能会在以后使用它们)时,您需要使用单引号。例如:
char foo='m';
Java 使用双引号"String"
表示字符串,单引号'C'
表示字符。
char HI = '\3072';
char HI = '\u3072';
''表示单个char
,而""表示一个String
。
更改
y = 'hello';
-->
y = "hello";
字符串 y = "hello";
这将有效(请注意双引号)。
字符 y = 'h'; 对于字符,这将有效(请注意单引号)。
但类型是关键:一个字符使用''(单引号),字符串使用""(双引号)。
char
。当compiler
看到定义了char
数据类型时,它会从JVM堆中分配1字节的内存,并期望在=
符号后面有一个值,该值有两个条件。
'
(单引号)中。同样地,String类型的数据应该用"
(双引号)括起来,并且可以具有任意长度的字符序列。
在给定的示例中,您混合了char
和String
数据类型的概念。编译器明确指出:
意思是,您以单引号未关闭的字符文字
'
开头,因此编译器只期望在打开'
后跟一个单个字符,然后是一个闭合的'
。因此,字符文字被认为是未关闭的
,因此出现错误。char
数据类型和'
单引号来包含单个字符。
或者使用String
数据类型和"
双引号来包含任意长度的字符序列。String y = "hello";
System.out.println(y);
请按照我下面的提示使用双引号符号
您的y
数据类型是字符串,应该使用双引号符号
class abc
{
public static void main(String args[])
{
String y;
y = "hello";
System.out.println(y);
}
}
字符只能取一个值,兄弟!例如: char y = 'h'; 也许你输入了 char y = 'hello'; 或者其他什么。祝好运。对于上面提出的问题,答案非常简单,你必须使用双引号来给出字符串值。足够简单了;)
"hello"
。 - Rohit Jainchar
? - Gaurang Tandonchar y; y = 'hello';
? - Gaurang Tandonchar
只能接受 一个 字符。按照定义,它是一个字符,并因此而被称为字符。 - nanofarad