19'C 흐림
서울 강남구
import java.util.*;
public class Lotto
{
ArrayList<Integer> lottoList;
ArrayList<Integer> userLottoList;
public static void main(String[] args) {
new Lotto().start();
}
public void start() {
makeLottoList();
ascList(lottoList);
printList(lottoList);
inputLotto();
int result = compareList(lottoList, userLottoList);
printResult(result);
}
public void makeLottoList() {
lottoList = new ArrayList<>();
Random rnd = new Random();
while(lottoList.size()<=5) {
int num = rnd.nextInt(45)+1;
if(!isExist(lottoList, num)) {
lottoList.add(num);
}
}
}
public void inputLotto() {
userLottoList = new ArrayList<>();
Scanner scan = new Scanner(System.in);
System.out.println("당신의 로또 번호를 입력하세요.");
int i = 0;
try{
while(userLottoList.size()<=5) {
System.out.print(i+1+"번째 번호 입력 : ");
int num = scan.nextInt();
if(num>0 && num<46) {
if(!isExist(userLottoList, num)){
userLottoList.add(num);
i++;
}else{
System.out.println("숫자가 중복됩니다. 다시 입력해주세요.");
}
}else{
System.out.println("1 ~ 45 사이의 숫자를 입력해주세요.");
}
}
}catch (Exception e){
System.out.println("1 ~ 45 사이의 숫자만 입력하세요.");
inputLotto();
}
}
public int compareList(ArrayList<Integer> lottoList, ArrayList<Integer> userList) {
int result = 0;
for(Integer i : lottoList){
for(Integer j : userList) {
if(i==j) {
result++;
break;
}
//System.out.println("i : "+i+" j : "+j);
}
}
return result;
}
public void printResult(int result) {
switch(result) {
case 6 :
case 5 :
case 4 :
case 3 :
case 2 :
System.out.println("축하합니다. 당신은 " + (7-result) + "등 입니다.");
break;
default :
System.out.println("꽝입니다.");
}
}
public boolean isExist(ArrayList<Integer> list, int num) {
boolean result = false;
for(Integer l : list) {
if(l==num) {
result=true;
break;
}
}
return result;
}
public void ascList(ArrayList<Integer> list) {
for(int i=list.size()-1; i>=0; i--) {
for(int j=0; j<i; j++) {
if(list.get(j)>list.get(j+1)) {
int temp = list.get(j);
list.remove(j);
list.add(j+1,temp);
}
}
}
}
public void printList(ArrayList<Integer> list) {
System.out.print("이번주 당첨번호는 ");
for(Integer result : list) {
System.out.print(result+" ");
}
System.out.println("입니다.");
}
}