+) 22. 08. 04. day49 π μ μΆκ° μλ£!
4μ°¨ ꡬν λλ. κ·Όλ° κ°μλ‘ μ½λκ° κΈ°κ΄΄ν΄μ§... μ΄κ² λ§λ κ±°λ?
λλ¨Έμ§λ λκ°μλ° Comparison ν΄λμ€λ₯Ό μμ κ³ μΆμν΄λμ€λ₯Ό λμ ν¨. κ·Όλ° κ·Έλ¬λλ λ... ν΄κ΄΄λ§μΈ‘ν΄μ§...
λ³ΌμΈμ§ μ€νΈλΌμ΄ν¬μΈμ§ νμΈνλ μΆμ ν΄λμ€
public abstract class Baseball {
public abstract int checkBallOrStrike(List<Integer> randomNumber, List<Integer> userNumber);
}
BallμΈμ§ νμΈνλ ν΄λμ€
public class Ball extends Baseball {
private int ball;
Ball() {
this.ball = 0;
}
@Override
public int checkBallOrStrike(List<Integer> randomNumber, List<Integer> userNumber) {
for (int i = 0; i < 3; i++) {
if (randomNumber.contains(userNumber.get(i))) {
ball++;
}
}
return ball;
}
}
StrikeμΈμ§ νμΈνλ ν΄λμ€
public class Strike extends Baseball {
private int ball;
private int strike;
Strike() {
this.ball = 0;
this.strike = 0;
}
@Override
public int checkBallOrStrike(List<Integer> randomNumber, List<Integer> userNumber) {
for(int i = 0; i < 3; i++) {
if (randomNumber.get(i).equals(userNumber.get(i))) {
strike++;
ball--;
}
}
return strike;
}
public int getBall() {
return ball;
}
}
checkBallOrStrike()
λλ€κ° 리μ€νΈμ μλ μμ μ¬μ©μκ° μ
λ ₯ν μκ° κ°λ κ°κ³ μμΉλ κ°μΌλ©΄ Strike μλ₯Ό νλ μ¦κ°μν€κ³ λ°ννλ€.
μ΄λ Ballμ΄ μ¦κ°νλ©΄ μλλ―λ‘ Ball κ°μ νλ κ°μμν¨λ€.
getBall()
κ°μ κ°μμν¨ Ballμ λ°ννλ€.
μ€ννλ ν΄λμ€
public class Main {
public static void main(String[] args) {
Input input = new Input();
Output output = new Output();
RandomNumber randomNumber = new RandomNumber();
List<Integer> randomNumbers = randomNumber.createRandomNumber();
int[] result = new int[2];
output.printPlayBaseballGame();
while(result[1] != 3) {
Ball ball = new Ball();
Strike strike = new Strike();
List<Integer> userNumbers = input.arrToList(input.inputDataSplit(input.input()));
int totalStrike = strike.checkBallOrStrike(randomNumbers, userNumbers);
int totalBall = strike.getBall() + ball.checkBallOrStrike(randomNumbers, userNumbers);
result = new int[]{totalBall, totalStrike};
output.output(result);
}
}
}
μ whileλ¬Έ μμμ κ°μ²΄ μμ±νλ κ²λ λ무 κ±°μ¬λ¦°λ€... μ κ² λκΌ¬...? λ΄κ° μ§°μ§λ§ κΈ°κ΄΄νλ€ κΈ°κ΄΄ν΄~