저는 JAVA를 배우고 있으며 최근에는 몇 가지 교육 과제에서 동일한 문제가있었습니다.8 진수를 십진수로 처리하십시오.
일부 숫자가 있는데 그 중 일부는 0부터 시작합니다.이 숫자는 8 진수이므로 원하는 숫자가 아니거나 "8"숫자로 인해 오류가 발생합니다. 또는 "9"는 8 진수가 아니기 때문에).
지금까지 14 또는 05와 같은 두 자리 숫자로 작업해야했습니다. 문자열로 처리했습니다. 및 문자열 번호를 모두 확인하고 지금은 알 수없는 리터가이
String numStr = "02";
if(numStr.startsWith("0")) {
int num = getNumericValue(numStr.charAt(1));
} else {
int num = Integer.parseInt(numStr);
}
같은 숫자로 변환하는 기능을 숫자로 변환 알 수없는 자릿수 (아마도 2를 넘는 숫자)의 번호입니다. 내가 원한다면 루프와 .substring()
을 사용할 수 있지만 더 쉬운 방법이 있어야한다는 것을 안다.
어떻게 든 0을 무시하는 방법이 있습니까?
편집 : 지금까지 난 항상 내가 문제를 해결하는 쉬운 방법을 찾을 수 있기 때문에 될 문자열을 사용한 작업했던 번호를 편집
. 내가 0010 27 09
했다 때 나는 같이 선언했다 :
String[] numbers = {"0010", "27", "09"};
I는 다음과 같이 선언하는 경우 때문에 :
는 int[] numbers = {0010, 27, 09};
는
번호 [0] 8 대신 10되며 숫자는 [2] 나에게 오류를 줄 것이다
사실 나는 Strings로 작업하고 싶지 않습니다. 내가 실제로 원하는 것은 0으로 시작하는 숫자를 숫자 (예 : int 또는 long)로 읽는 것입니다.하지만 소수로 나타내기를 원합니다. 문제는 내가 소스에서 많은 번호를 가졌다는 것입니다. 그것들을 코드에 복사하고 그것을 배열의 선언으로 편집했습니다. 하지만 나는 문자열을 0으로 지우고 다시 숫자로 만들려는 문자열을 편집하고 싶지 않습니다.
''numStr '.charAt (1)'은''u' '입니다. 그리고''numStr "'이 숫자가 아니기 때문에'Integer.parseInt ("numStr ")'는'NumberFormatException'으로 실패합니다. –
예상/예제 입력 및 출력을 게시 할 수 있습니까? –
주제가 아닐 수도 있지만 문자열 변수를 큰 따옴표로 묶어 사용했습니다. 그냥 numStr이어야하고 "numStr"이 아니어야합니다.구문 분석 및 캐릭터 획득 중. – iMan