문제:
BaseBall
package kosta.HW.test;
import java.util.Arrays;
public class Baseball {
//난수 생성
int hidden[];;
public Baseball() {
hidden=new int[3];
hidden[0]=(int)(Math.random()*9)+1;
do {
hidden[1]=(int)(Math.random()*9)+1;
}while(hidden[0]==hidden[1]);
do {
hidden[2]=(int)(Math.random()*9)+1;
}while(hidden[2]==hidden[1]||hidden[2]==hidden[0]);
System.out.println(Arrays.toString(hidden));
}
//스트라이크 볼 판정
public int countStrike(int[] input) {
int strike=0;
for (int i = 0; i < input.length; i++) {
if(hidden[i]==input[i]) strike++;
}
return strike;
}
public int countBall(int[] input) {
int ball=0;
for (int i = 0; i < input.length; i++) {
if(hidden[i]==input[(i+1)%3]) {
ball++;
}else if(hidden[i]==input[(i+2)%3]) {
ball++;
}
}
return ball;
}
}
BaseBallMain
package kosta.HW.test;
import java.util.Scanner;
public class BaseballMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
Baseball b=new Baseball();
int strike, ball, count=0;
Scanner scan=new Scanner(System.in);
int[] arr=new int[3];
do {
System.out.println("게임 시작");
System.out.println("숫자 입력:");
arr[0]=scan.nextInt();
arr[1]=scan.nextInt();
arr[2]=scan.nextInt();
strike=b.countStrike(arr);
ball=b.countBall(arr);
System.out.println(strike+"S"+ball+"B");
count++;
}while(strike!=3);
System.out.println("시도 횟수:"+count);
}
}
'JAVA > 수업 Test' 카테고리의 다른 글
랜덤 숫자 up down 게임 (0) | 2021.02.01 |
---|---|
갤러그_재귀함수 이용 (0) | 2021.02.01 |
숫자 야구 게임(내방법) (0) | 2021.02.01 |