-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fix] 이벤트 유저 수가 0명일 때 set 기반 추첨을 진행하면 예외가 발생하는 문제 수정(#153) #154
Conversation
if (count - maxPickCount <= 10 || // 두 값 차이가 작을 때 | ||
// pick count = 0이면 아무 것도 안하게 수정 | ||
if(maxPickCount == 0) return Collections.emptyList(); | ||
if (count - maxPickCount <= 10 ||// 두 값 차이가 작을 때 | ||
((double) count / maxPickCount) <= 1.1 ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
10d / 0이 exception이 나는게 아니라 infinity가 된다고 하네요. devide 0 예외가 아니라 다른 것으로 간주하는 것은 처음 알았습니다.
@@ -50,6 +51,7 @@ protected List<PickTarget> pickManyUsingSet(List<PickTarget> targets, long count | |||
// 가중합 배열 | |||
RandomItem[] items = getAccumulatedItems(targets); | |||
List<PickTarget> pickedTargets = new ArrayList<>(); | |||
if(items.length == 0) return pickedTargets; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
길이가 0일 때는 바로 배열을 반환하도록 하여 방어적으로 변경했습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사실상 마지막 PR이겠군요.
어드민 페이지가 끝까지 말썽인데 마지막까지 최선을 다해서 버그 수정해주셔서 감사드립니다.
#️⃣ 연관 이슈
📝 작업 내용