728x90
반응형
package chap13;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
/*
다음 결과가 나오도록 프로그램을 작성하시오
1 ~ 1000번까지의 번호를 가지는 복권이 있다.
1등 1장, 2등 2장, 3등 3장 을 추첨하는 프로그램 작성하기
단 추첨은 3등부터 추첨하고, 당첨번호는 중복되면 안된다.
추첨된 번호는 임의의 수이므로 숫자 값은 실행 할때 마다 다르다.
LinkedHashSet : 순서유지, 중복불가
Random
new ArrayList(Set) : Set 객체를 List객체로 생성
[결과]
3등 복권 추첨합니다.
880,140,951,
2등 복권 추첨합니다.
292,764,
1등 복권 추첨합니다.
744,
*** 복권 추첨 결과 ***
1등:744
2등:764,292,
3등:951,140,880,
===========
1등:[744]
2등:[292, 764]
3등:[880, 140, 951]
*/
public class Test0324_1 {
public static void main(String[] args) {
Set<Integer> set = new LinkedHashSet<>();
Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
while (set.size() < 6) {
if (set.size() == 0)
System.out.println("\n3등 복권 추첨합니다.");
else if (set.size() == 3)
System.out.println("\n2등 복권 추첨합니다.");
else if (set.size() == 5)
System.out.println("\n1등 복권 추첨합니다.");
int num = rand.nextInt(1000) + 1;
if (set.add(num)) {
System.out.print(num+",");
}
}
System.out.println();
System.out.println("*** 복권 추첨 결과 ***");
List<Integer> list = new ArrayList<>(set);
for(int i=list.size()-1;i>=0;i--) {
if(i == list.size()-1)
System.out.println("1등:" + list.get(i));
else if (i == list.size()-2)
System.out.print("2등:" + list.get(i) + ",");
else if (i< list.size()-2 && i>=3)
System.out.print(list.get(i) + ",");
else if(i==2)
System.out.print("\n3등:" + list.get(i)+ ",");
else
System.out.print(list.get(i)+ ",");
}
System.out.println("\n===========");
List<Integer> list2 = list.subList(5, 6);
Collections.sort(list2);
System.out.println("1등:" + list2);
list2 = list.subList(3, 5);
Collections.sort(list2);
System.out.println("2등:" + list2);
list2 = list.subList(0,3);
Collections.sort(list2);
System.out.println("3등:" + list2);
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 32. Test3 풀이 ( 1 ~ 99까지의 정수를 입력받아서 TreeSet에 저장하고, 0 을 입력하면 입력을 종료한다. ) (0) | 2022.03.30 |
---|---|
[Java] 32. Test2 풀이 (Student 클래스 구현하기, 구동 클래스 완성하기) (0) | 2022.03.30 |
[Java] 32. Test3 ( 1 ~ 99까지의 정수를 입력받아서 TreeSet에 저장하고, 0 을 입력하면 입력을 종료한다. ) (0) | 2022.03.30 |
[Java] 32. Test2 (Student 클래스 구현하기, 구동 클래스 완성하기) (0) | 2022.03.30 |
[Java] 32. Test1 (다음 결과가 나오도록 프로그램을 작성하시오) (0) | 2022.03.30 |