2010-05-25 3 views
1

정수 메소드에서 간단한 텍스트 파일을 구문 분석 한 다음 해당 파일의 정수를 출력하여 프로그램의 다른 부분에서 사용할 수 있도록하려고합니다. 테스트 목적으로 문자 값 (이 경우 9)을 표시합니다. 어떤 이유로 든 정수 값은 57입니다. 나는 텍스트 파일의 다른 부분 (이 경우에는 5가되어야하지만, 대신 53이되어야 함)을 사용해 보았습니다.Java 메소드의 정수 출력이 사전 변환 된 char 값과 동일하지 않습니다.

ASCII 차트를보고 나면, 57이 "기호"9의 ASCII 버전이고 53이 "기호"5의 ASCII 버전이라는 것을 알 수 있습니다.이 문제를 해결할 수있는 간단한 방법이 있습니까? 나는 자바 초보자이기 때문에 좌절감을 느끼고있다. (나는 이것 전에 FreePascal 만 사용했다.)

+0

을 사용할 수 있습니다. 제안 된대로 pasrseInt를 호출해야하지만 그렇지 않을 수도 있습니다. 일반적으로 Java 1.5+에서 명시 적 형변환을 사용하는 데에는별로 이유가 없습니다. – CurtainDog

+1

괜찮은 조언을 원하면 코드를 게시하십시오. –

답변

3

"수정"할 수있는 방법이 아닙니다. 그것이 ASCII가 작동하는 방식입니다. 코드를 게시하면 더 나은 접근 방식을 보여줄 수 있습니다. 예를 들어, 문자를 명시 적으로 사용할 필요는 없습니다.

당신이 사용하는 경우 BufferedReader 같은 다음 INT 9 예상대로 될 것입니다 분석

BufferedReader buffReader = ...; 
... 
String line = buffReader.readLine(); // line is now "9" 
int parsed = Integer.parseInt(line); 

. 또는 Scanner과 그 nextInt

+3

의견/답변을 주셔서 감사합니다. 그러나 Character.getNumericValue를 사용하여 해결했습니다. – David