(Q) 바나나라는 제시어가 주어져 있을 때
사용자에게 입력받은 글자가 제시어와 이어지는지 검사하여 출력하는 프로그램 구현
(추가)
- 반복적으로 수행하면 끝말잇기 혹은 쿵쿵따를 만들 수 있습니다
- 끝말잇기는 2글자 이상, 쿵쿵따는 반드시 3글자
끝말 잇기 메인 메소드
package day14_api.lang.String;
import java.util.Scanner;
public class Test05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 초기 제시어
String now = "바나나";
System.out.println("제시어 : " + now);
// 남은 횟수
int count = 3;
while(true) {
// 다음 입력
String next = sc.next();
// 판정
// 1) 글자가 연결되는가
boolean match = now.charAt(now.length() - 1) == next.charAt(0);
// 2) 글자 수가 2글자 이상인가
boolean number = next.length() >= 2;
// 만약 두 조건을 만족한다면
if(match & number) {
now = next; // 제시어는 이번 입력이 된다
System.out.println("성공, 제시어 변경 : " + now);
}
// 그렇지 않다면
else {
count --; // 남은 횟수 1만큼 감소
System.out.println("실패, 남은 횟수 :" + count);
}
// 만약 남은 횟수가 0 이하가 되면
if(count <= 0) {
break; // 구문 탈출
}
}
// 게임 오버 메세지 출력
System.out.println("Game Over!");
sc.close();
}
}
.charAt(int index)
- 문자열의 해당 인덱스 번호의 한 글자 추출
변수명.charAt(인덱스 번호)
쿵쿵따 메인 메소드
package day14_api.lang.String;
import java.util.Scanner;
public class Test05_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 초기 제시어
String now = "바나나";
System.out.println("제시어 : " + now);
// 남은 횟수
int count = 3;
while(true) {
// 다음 입력
String next = sc.next();
// 판정
// 1) 글자가 연결되는가
boolean connection = now.charAt(now.length() - 1) == next.charAt(0);
// 2) 글자 수가 2글자 이상인가
boolean number = next.length() == 3;
// 만약 두 조건을 만족한다면
if(connection && number) {
now = next;
System.out.println("성공, " + now + " 쿵쿵따!");
}
// 그렇지 않다면
else {
count --; // 남은 횟수 1만큼 감소
System.out.println("실패, 남은 횟수 :" + count);
}
// 만약 남은 횟수가 0 이하가 되면
if(count <= 0) {
break; // 구문 탈출
}
}
// 게임 오버 메세지 출력
System.out.println("Game Over!");
sc.close();
}
}
** 끝말잇기와 쿵쿵따의 차이점
- 글자수 제한을 2글자 이상으로 할 것인지(끝말잇기) 또는 정확히 3글자로 할 것인지(쿵쿵따)