public static void main(String... args) {
List<Integer> inputs = new ArrayList<Integer>(Arrays.asList(10, 30, 10, 20, 20, 10));
int max = 100;
for (Integer input : inputs) {
max -= input;
}
if (max != 0) {
System.out.println("invalid params");
return;
}
inputs.add(0, 0);
int rand = new Random().nextInt(100) + 1;
int result = 0;
int start = 0;
int end = 0;
for (int i = 0; i < inputs.size() - 1; i++) {
start += inputs.get(i);
end += inputs.get(i + 1);
if (rand >= start && rand <= end) {
result = i;
break;
}
}
System.out.println(rand + "::dd::" + result);
}


'java' 카테고리의 다른 글

확률을 퍼센트로 줘서 랜덤하게 뽑기  (0) 2018.01.18
Intellij Custom VM Option 넣기  (0) 2017.06.16
JUnit Test property 주입 하기  (0) 2017.04.26
Java goole.common.cache.Cache 사용하기.  (0) 2016.01.20
Java 가 어려운 이유.  (0) 2015.10.01
Visual VM 메모. 모니터링  (0) 2015.09.24
블로그 이미지

기계새

Java, Spring, iBatis, Maven, eclipse 개발관련 잡다한 메모공간입니다.