본문 바로가기

프로그래밍/Java

로또 실습

ComLotto.java 

 package lotto;

 

import java.lang.reflect.Array;
import java.util.Arrays;

 

public class ComLotto {
  public static int[] comLotto = new int[6];
 
 public static void main(String[] args) {
        ew ComLotto().execute();
 }

 public static int[] execute() {
  
 {
   out:for(int i = 0; i < comLotto.length; i++){
    int com = (int)(Math.random()*45)+1;
     for(int j = 0; j < i; j++){
      if(com == comLotto[i]){
       i--;
       continue out;
      }
     }
     comLotto[i] = com;  
   }
 
   //Arrays.sort(comLotto);
   System.out.println("-------현 재 당 첨 된 숫 자--------------");
   for(int com : comLotto){
    System.out.print("\t"+com);
    
   }
   System.out.println();  
   return comLotto;
  }
 }
}   

 

UserLotto.java 

 package lotto;

import java.util.Scanner;

 

public class UserLotto {
 public static int [] userlotto = new int [6];
 int [] save = new int [6];
 Scanner sc = new Scanner(System.in);
 
 public static void main(String[] args) {
  new UserLotto().execute();
 }

 public static int[] execute() {
  // 사용자로부터 1~45의 6개의 숫자를 입력 받는다.
  
  out:for(int i = 0; i < 6; i++){
   System.out.println("");
   System.out.println("1~45 숫자를 입력 : ");
   Scanner sc = new Scanner(System.in);
   
   String userStr = sc.next();
   userlotto[i] = Integer.parseInt(userStr);
   boolean boo = userStr.matches("[1-9]|([1-3][0-9])|[4][0-5]");
   if (!boo) {
    System.out.println("1~ 45까지 숫자를 넣으새요.");
    i--;
    continue;

   } else if (boo) {
    int user = Integer.parseInt(userStr);
    for (int j = 0; j < i; j++) {
     if (userlotto[j] == user) {
      System.out.println("중복됐삼..!!!!!!!!!");
      i--;
      continue out;
     }
    }
    for(int a : userlotto){
     if(a == 0) break;
     System.out.print(a+ " ");
     System.out.print("");
    }
   }
     
  }
  return userlotto;

 }
}

 

RankLotto.java 

 package lotto;

 

public class RankLotto {

 public static void main(String[] args) {
  new RankLotto().execute();
 }

 

 private void execute() {
  ComLotto c = new ComLotto();
  UserLotto u = new UserLotto();
  
  int [] comLotto = c.execute();
  title();
  int [] userlotto = u.execute();
  count(comLotto,userlotto); 
 }

 

 private void count(int [] com, int[] user) {
  int cnt = 0;
  for(int i = 0; i < com.length; i++){
   for(int j = 0; j < user.length; j++){
    if(com[i] == user[j]){
     cnt++;
    }
   }
  }
  System.out.println("로또 맞힌 숫자는 :"+cnt+" 개 입니다.");
 }

 

 private void title() {
  String menu ="";
  menu += "--------------------------------------------------\n";
  menu += "                    로    또\n";
  menu += "----------------------------------------------------\n";
  System.out.println(menu);
 }
}

 

 

'프로그래밍 > Java' 카테고리의 다른 글

this  (0) 2012.06.29
Varags  (0) 2012.06.28
[ 자바 ] 가변배열  (0) 2012.06.22
do - while 제어문  (0) 2012.06.19
for 문  (0) 2012.06.19