2015-01-03 4 views
1

안녕하세요 저는 char에서 int를 빼내려고하고 있지만 컴파일러가 "int에서 char로 변환 할 수 없다"고 계속 말하고 있습니다. 상수를 char로 변경하려고 시도했지만 도움이되지 않았습니다.자바에서 문자에서 숫자 (int)를 빼는 방법

이 빼기를 수행하는 쉬운 방법이 있습니까?

시험 [1] = characterArray [1] - ASCII_SUB;

많은 도움을 주시면 감사하겠습니다.

+0

'char'에 'ASCII_SUB'를 캐스트합니다. – apnorton

답변

3

문제는 뺄셈은 이 아니며은 Java에서 char 값으로 수행됩니다. 대신 두 피연산자는 모두 int (binary numeric promotion 통해)으로 승격되고, 뺄셈 결과는 int입니다. 따라서 결과를 char으로 다시 캐스팅해야합니다 :

test[1] = (char) (characterArray[1] - ASCII_SUB); 
+0

@anoyd_bi_me_grammers : 무엇? –