GUI 실습 - lotto
/src
ㄴ/controller
ㄴMain.java
ㄴ/model
ㄴLottoModel.java
ㄴ/view
ㄴLottoView.javaModel
package model;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Arrays;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
public class LottoModel {
private int count,bonusCount;
private String winNum[] = new String[6];
private String bonus;
private String myNum[] = new String[6];
private String checkNum[]=new String[6];
public LottoModel(String turn) {
setLotto(turn);
System.out.println(this.getBonus());
System.out.println(this.getWinNum());
setRandom();
System.out.println(this.getMyNum());
check();
}
public void setLotto(String turn) {
URL result;
String winNums[]=new String[6];
try {
result = new URL("http://www.nlotto.co.kr/common.do?method=getLottoNumber&drwNo="+turn);
InputStreamReader isr = new InputStreamReader(result.openConnection().getInputStream(),"UTF-8");
JSONObject obj = (JSONObject)JSONValue.parse(isr);
System.out.println("읽어온 결과 : "+obj.toJSONString());
if("success".equals(obj.get("returnValue"))) {
System.out.print("로또 번호 : ");
for(int i=1;i<=6;i++) {
System.out.print(" "+obj.get("drwtNo"+i));
winNums[i-1]=obj.get("drwtNo"+i).toString();
this.setWinNum(winNums);
}
System.out.println("보너스 : "+obj.get("bnusNo"));
this.setBonus(obj.get("bnusNo").toString());
}else {
System.out.println("로또 정보 읽기 실패");
}
}catch(Exception e) {
e.printStackTrace();
}
}
public void setRandom() {
String[] myNum=new String[6];
int[] lotto = new int[6];
for(int i=0;i<myNum.length;i++) {
lotto[i] = (int)(Math.random()*45)+1;
for(int j=i-1;j>=0;j--) {
if(lotto[i]==lotto[j]) {
i--;
break;
}
}
}
Arrays.sort(lotto);
for(int i=0;i<myNum.length;i++) {
myNum[i]=String.valueOf(lotto[i]);
System.out.println(myNum[i]);
}
this.setMyNum(myNum);
}
public void check() {
this.count=0;
this.bonusCount=0;
for(String i : winNum) {
if(Arrays.asList(myNum).contains(i)) {
this.checkNum[count++]=i;
}
}
for(int i=count;i<6;i++) {
this.checkNum[i]=null;
}
if(Arrays.asList(this.myNum).contains(bonus)&&count==5) {
this.checkNum[count]=bonus;
bonusCount=1;
}
}
public int result() {
switch (this.count) {
case 6:
return 1;
case 5:
if(this.bonusCount==1)return 2;
else return 3;
case 4:
return 4;
case 3:
return 5;
default:
return 6;
}
}
public String[] getWinNum() {
return winNum;
}
public void setWinNum(String[] winNum) {
this.winNum = winNum;
}
public String getBonus() {
return bonus;
}
public void setBonus(String bonus) {
this.bonus = bonus;
}
public String[] getMyNum() {
return myNum;
}
public void setMyNum(String[] myNum) {
this.myNum = myNum;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getBonusCount() {
return bonusCount;
}
public void setBnousCount(int bnousCount) {
this.bonusCount = bonusCount;
}
public String[] getCheckNum() {
return checkNum;
}
public void setCheckNum(String[] checkNum) {
this.checkNum = checkNum;
}
}View
Controller
Last updated
Was this helpful?