첫번째 질문????
float a = 123456789.0e-5f
==> 이게 %6.1f 하면......왜 1234.6 이 나오죠?? %6이면 6칸공간 잡으라는거고.. .1은 소수점 이하 1칸잡으라는것은 알겠는데요...
그러면 1234.5가 나와야 하는거 아닌가요?? 아직이해가 ;
==> 그리고 1.23456789e+03 이 나와야하는거 아닌가요?? 왜 1.234568e+03 이 나오나요?
두번째 질문!!!
page 114 34번문제.. 다음 java(java se7) 언어로 구현된 프로그램을 분석하여 그 실행결과를 쓰시오
public class problem{
....중략..
for(i=1;i<=5;++i,hap+=i)
system.out.printf("합은%d %4d입니다.\n",i,hap);
}
여기서 답이
합은1 0입니다
합은2 2입니다
합은3 5입니다
합은4 9입니다
합은5 14입니다
이렇게 나오는데.....
for(i=1;i<=5;++i,hap+=i)^ ^ 요기부분에 ; 이 표시가 없어서..
이렇게 반복해서 나오는건가요??
만약 for(i=1;i<=5;++i,hap+=i); 이렇게 바꾸면..
합은 6 20입니다
라고 나오는건가요...??
; 이거 차이로??
안녕하세요.
1)
6.1%는 기본적으로 소수점 자리를 포함하여 6자리를 확보한 상태에서 소수점 자리를 1자리 출력합니다.
그래서 1234.6이 나오며 마지막 6은 반올림된 값입니다.
2)
%e는 지수형식으로 출력하되 소수점 자리수가 지정되지 않으면 기본적으로 소수점 6자리가 출력됩니다.
그래서 1.234568e+03이 표시된 것이고 마지막 8도 반올림이 된 것입니다.
3)
예, 맞습니다. 반복문 옆에 ;을 붙이면 반복문 실행문의 범위가 반복문 뒤의 ;까지로 제한되기 때문에
결과는
합은 6 20입니다.
오늘도 즐거운 하루 되세요.
-
*2017-03-09 09:35:00
안녕하세요.
1)
6.1%는 기본적으로 소수점 자리를 포함하여 6자리를 확보한 상태에서 소수점 자리를 1자리 출력합니다.
그래서 1234.6이 나오며 마지막 6은 반올림된 값입니다.
2)
%e는 지수형식으로 출력하되 소수점 자리수가 지정되지 않으면 기본적으로 소수점 6자리가 출력됩니다.
그래서 1.234568e+03이 표시된 것이고 마지막 8도 반올림이 된 것입니다.
3)
예, 맞습니다. 반복문 옆에 ;을 붙이면 반복문 실행문의 범위가 반복문 뒤의 ;까지로 제한되기 때문에
결과는
합은 6 20입니다.
오늘도 즐거운 하루 되세요.