Java
-
Scanner scanInt(int radix) 사용 시, InputMismatchException이 발생하는 이유Java 2020. 1. 2. 22:17
Scanner 클래스에서 제공하는 메서드 중에 scanInt(int radix)라는 메소드가 있다. 이 메소드는 몇 진수의 값을 키보드로 입력할 것인지를 매개변수로 제공해주면 키보드로 입력한 값을 10진수로 변환해 반환해준다. 본인은 알고리즘 문제를 풀다가 int형이 가질 수 있는 최소값과 최대값을 구해야하는 상황에서 scanInt(int radix)를 사용하게 되었는데 사용도중 아래와 같은 오류가 발생했다. 에러의 원인을 파악해보면.. 음수 값의 오버플로우 현상 때문에 형변환이 안되서 발생한 것으로 보이는데, 이게 말이 안되는 것이 16진수 값 0x80000000은 int형이 가질 수 있는 가장 작은 값인 -2147483648(10)이라서 오버플로우가 발생할리가 없었다. 원인을 알아내기 위해서 이것저것..
-
[Java] 클래스 파일 실행 시, "기본 클래스 ...을(를) 찾거나 로드할 수 없습니다."라는 오류현상 해결 방법Java 2019. 12. 24. 19:51
Sublime Text3에서 자바를 사용해보고 싶어서, Build System을 설정하고 실행을 돌렸더니 이런 에러 현상을 보게되었습니다. 처음에는 환경설정의 문제인가 싶어서 java, javac -version 체크를 해봤는데요, JDK 버전은 모두 정상적으로 출력되는 것을 확인하였습니다. 도대체 뭐가 문제인가 싶어서 계속 구글링을 해본 결과, 클래스 파일 실행 시, 확장자 인식이 되지않는 이유때문에 발생한 오류였습니다. JVM이 확장자 인식을 제대로 할 수 있게끔 하기 위해선 아래의 수정 작업을 필요로 합니다. 수정을 하기 위해서 환경 설정을 진행하였던, 환경 변수 창으로 접근해서 CLASSPATH 시스템 변수를 찾습니다. 저는 수정하기 이전의 값으로 %JAVA_HOME%lib을 적용하고 있었는데요,..