書き込み時にBlueJを使用して、エラー「Unclosed Character Literal」を取得しました。
class abc
{
public static void main(String args[])
{
String y;
y = 'hello';
System.out.println(y);
}
}
しかし、何が悪いのかわかりません。何か案が?
ありがとう。
Javaでは、単一引用符は1文字しか使用できず、必要に応じてエスケープできます。文字列には、次のように完全な引用符を使用する必要があります。
y = "hello";
あなたも使用しました
System.out.println(g);
私はそうすべきだと思います
System.out.println(y);
注:char
値を作成する場合(後で使用する可能性が高い)、単一引用符needが必要です。例えば:
char foo='m';
Javaは"String"
に二重引用符を使用し、'C'
haractersに単一引用符を使用します。
既存の回答に少し追加したいと思います。不正なUnicode形式の文字に値を指定すると、同じ「閉じられていない文字リテラルエラー」が発生します。あなたが書くときのように:
char HI = '\3072';
次の正しいフォームを使用する必要があります。
char HI = '\u3072';
文字列y = "hello";
機能します(二重引用符に注意してください)。
char y = 'h';これは文字に対して機能します(一重引用符に注意してください)
ただし、タイプはキーです。1文字の場合は ''(単一引用符)、文字列の場合は ""(二重引用符)です。
''は単一のchar
を囲み、 ""はString
を囲みます。
変化する
y = 'hello';
->
y = "hello";
キャラクターは1つの値の男しか取りません! like:char y = 'h';そして多分あなたはchar y = 'hello'のようにタイプした;またはsmthg。がんばろう。上記の質問に対する答えは非常に簡単です。文字列値を与えるには二重引用符を使用する必要があります。十分簡単;)