Lv.1
이걸 보자마자 로또 프로그램 만들었던걸 응용해야 겠다 생각했다
Set<Integer> randomNum = new HashSet<Integer>();
Random random = new Random();
while(randomNum.size() < 3){
int number = random.nextInt(9) + 1;
randomNum.add(number);
}
그냥 클래스에 이걸 넣는건 아닌것같아서, 질문하러 갔다가, 아에 Collection.shuffle로 작성하는법을 알려주셨다
private List<Character> characters = List.of('1', '2', '3', '4', '5', '6', '7', '8', '9');
private String getRandom(List<Character> characters) {
ArrayList<Character> characters1 = new ArrayList<>(characters);
Collections.shuffle(characters1);
String result = "";
for (int i = 0; i < 3; i++) {
result += characters1.get(i);
}
return result;
protected boolean validateInput(String input) {
//3글자가 아닐때
if(input.length() != 3){
System.out.println("3자리의 숫자를 입력해주세요");
return = false;
}
//중복된 숫자 금지
//문자 작성 금지
}
여기서는 3글자가 아닐때는 if문으로 작성했지만
※중복된숫자와, 문자를 작성 금지하는건 어떤식으로 해야할지 잘 감이 안 잡힌다
public class BaseballGameDisplay {
public void displayHint(int strike, int ball) {
if (strike == 0 && ball == 0) {
System.out.println("아웃");
} else {
System.out.println(strike + "스트라이크" + ball + "볼");
}
}
}
여기서 출력값은 설정했지만 기본 뼈대인 보로가 스트라이크 구성이 어렵다
private int countStrike(String input) {
int strike = 0;
}
private int countBall(String input) {
int ball = 0;
}
스트라이크와 볼의 값이 0이라고만 설정
while (true) {
// 2. 올바른 입력값을 받았는지 검증
if(!validateInput(input)) {
System.out.println("올바르지 않은 값을 입력했습니다");
continue;
}
Lv2
출력값은 이렇게 개선해봤다
유효성 검사는 앞서 코드를 완성 못해서..
package numplay;
import java.util.Scanner;
public class Mian {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(ture) {
System.out.println("환영합니다! 원하시는 번호를 입력해주세요");
System.out.println("1.게임 시작하기 2.게임 기록하기 3.종료하기");
String input = sc.nextLine();
switch(input) {
case "1":
System.out.println("< 게임을 시작합니다 >");
System.out.println("숫자를 입력하세요");
BaseballGame baseballGame = new BaseballGame();
baseballGame.play();
break;
case "2";
System.out.println("< 아직 이욜할 수 없습니다 >");
break;
case "3":
System.out.println("< 게임을 종료합니다 >");
break;
default:
System.out.println("올바르지 않은 입력값입니다");
break;
}
}
}
}
볼과 스트라이크를 구성하는 코드를 작성하는 부분이 아직은 어렵게 느껴져서 작성을 못했다
거기에 입력된 숫자가 중복된 숫자일때와 문자열이 입력되었을때 코드 작성하는 부분이 어려웠다