2013-06-27 4 views
16

는 작성할 때, BlueJ의를 사용하여, "리터럴 닫히지 않은 문자"오류를 얻었다 :닫히지 않은 문자 리터럴 오류

class abc 
{ 
    public static void main(String args[]) 
    { 
     String y; 
     y = 'hello'; 
     System.out.println(y); 
    } 
} 

을하지만 내가 잘못이 무엇인지 알아낼 수 없습니다. 아이디어가 있으십니까?

감사합니다.

+1

문자열은 큰 따옴표로 묶어야합니다 :

char HI = '\3072'; 

당신이 올바른 양식을 사용합니다. ''hello ''를 사용하십시오. –

+0

[docs.oracle.com/javase/tutorial/java/data/strings.html](http://docs.oracle.com/javase/tutorial/java/data/strings.html) – jlordo

+0

그래, 나도 알아. 답을 수정하는 것에 대한 답은 많지만, 왜''String''과''char''' 안에''? –

답변

30

, 작은 따옴표는 이스케이프와 함께, 하나 개의 문자를 취할 수 있습니다. 문자열을 다음과 같이 전체 인용 부호를 사용해야합니다 :

y = "hello"; 

당신은 또한해야 내가 가정

System.out.println(g); 

을 사용

System.out.println(y); 

참고 :이 (char 값을 나중에 사용 가능) 작은 따옴표가 필요합니다. 예를 들어 :

char foo='m'; 
0

''은 char 인 것으로 둘러싸여 있으며, ''은 String을 묶습니다.

변경

y = 'hello'; 

-> 필요한 경우

자바에서
y = "hello"; 
6

자바 "String"에 대한 따옴표와 'C' haracters에 대한 작은 따옴표를 사용합니다.

1

문자열 y = "hello";

(큰 따옴표에 유의하십시오.)

char y = 'h'; 이것은 문자에 대해 작동합니다 (작은 따옴표에 유의하십시오)

유형이 키입니다 : ''(작은 따옴표) 한 문자, ""(큰 따옴표) 문자열입니다.

2

기존 답변에 작은 글자를 추가하고 싶습니다. 유니 코드 형식이 잘못된 char에 값을 제공하면 동일한 "Unclosed Character Literal 오류"가 발생합니다. 처럼 당신이 쓸 때 : 자바에서

char HI = '\u3072'; 
관련 문제