'Programming/JAVA source ErrorWhySolution'에 해당되는 글 2건
- 2014.06.11 오류: 기본 클래스 xxxx 을(를) 찾거나 로드할 수 없습니다. 1
- 2014.06.08 소수점 연산 // 반올림 2
/* 본 블로그에, 휴대폰으로 접속시에는 소스가 제대로 보이지 않을 수 있습니다.
소스가 보이지 않을 시에는, 모바일 화면 제일 하단에 있는 'PC화면' 을 클릭해 들어가서 PC모드로 변경을 하면 소스가 보입니다. */가끔 소스 짜는 연습을 할 때, 생성해 놓은 클래스파일에서 단순히 기존 소스를 지우고 새로 짜는 경우가 있는데, 이때 간혹 컴파일 오류가 뜬다.
오류: 기본 클래스 xxxx 을(를) 찾거나 로드할 수 없습니다.
위처럼 뜨곤 하는데, 거두절미하고 해결방안은
프로젝트 익스플로러 - 해당 패키지명에 마우스 우클릭 - Properties - Run/Debug Settings 을 클릭하면, 우측 하얀색 창이 보인다.
그 창에 있는 목록들을 모두 삭제하고 다시 컴파일 하면 제대로 실행된다.
'Programming > JAVA source ErrorWhySolution' 카테고리의 다른 글
소수점 연산 // 반올림 (2) | 2014.06.08 |
---|
/* 본 블로그에, 휴대폰으로 접속시에는 소스가 제대로 보이지 않을 수 있습니다.
소스가 보이지 않을 시에는, 모바일 화면 제일 하단에 있는 'PC화면' 을 클릭해 들어가서 PC모드로 변경을 하면 소스가 보입니다. *///Error
위 소스는 결과값이 3.000000199999~ 이렇게 나온다.
여기서 아래처럼 소숫점 뒤에 0을 하나 더 추가시키니,
num1=1.00000001;
num2=2.00000001;
결과값이 3.00000002 이렇게 깔끔하게 나왔다.
무엇 때문에 결과값이 다른걸까....
//Why?
컴퓨터는 2진수 부동소수점으로 소수점 이하 자리수를 표현한다. 그 표현의 문제로 인해서, 소수점 이하의 연산에 대해서는 정확도가 100%가 안된다.
우선, 항상 기억해둬야 하는것이 소수점 연산은 항상 오류가 발생한다는 점이다. 0.01 이 표현이 안되기 때문이다.
컴퓨터에서 부동 소수는
(1/2) * n1 + (1/4) * n2 + (1/8) * n3 + (1/16) * n4 ...와 같은 합으로 표현된다. 그리고 0.01은 이런 값의 합으로 표현할 수가 없다.
반면,
2.5 = 2 + 1/2,
2.25 = 2 + 1/4
와 같은 수는 표현이 가능해서 제대로 출력이 된다.
출처 : http://bit.ly/SuYt51
//Solution!
그냥 소수점 반올림을 했다. 하하하하하하하~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//출력결과
result = 3.00000002
result0 = 3.0
result1 = 3.0
result2 = 3.00000002
'Programming > JAVA source ErrorWhySolution' 카테고리의 다른 글
오류: 기본 클래스 xxxx 을(를) 찾거나 로드할 수 없습니다. (1) | 2014.06.11 |
---|