카테고리 없음

[자바] 연속 동전 던지기

행복을전해요 2021. 2. 9. 01:10

에서 flip이 루프 방법 while(roll<n){,
여기 당신은 증가하지 않는 roll변수를.

이것은 내가 보는 한 가지 문제입니다.

flip방법 의 논리를 확인하십시오 . 나에게 옳지 않은 것 같습니다.

-------------------

두 가지 문제가 있습니다. 첫째, flip전혀 증가하지 않기 때문에 에서 무한 루프가 있습니다 roll. 그것을 증가시킵니다.

둘째,이 줄에 정수 나눗셈이 있습니다.

total += elapsed/1000000;

Java에서 두 개의 ints를 나누면 결과가되어야 int하므로 여기에서 많은 0을 얻을 수 있습니다. double리터럴 또는 캐스트 elapsed사용하여 double부동 소수점 산술을 수행합니다.

total += elapsed/1000000.0;

또는

total += (double) elapsed/1000000;
-------------------

이미 언급 한 무한 루프 및 분할 문제 외에도 인쇄 라인을 더 깨끗하게 만들고 싶다면 BigDecimal복식을 반올림 하는 사용 하는 것이 좋습니다 .

String line = n+"\t"+ BigDecimal.valueOf(average).setScale(5, BigDecimal.ROUND_HALF_UP) + "\t"+ BigDecimal.valueOf(Math.log(average)).setScale(5, BigDecimal.ROUND_HALF_UP);


출처
https://stackoverflow.com/questions/22050336