본문 바로가기
IT/Java

Java (1차원 배열_끝말잇기 게임)

by hjshims 2021. 5. 21.

인원수입력 배열에 저장, 시작단어는 사용자가 입력, 번갈아가며 게임진행.

시작단어의 마지막 글자랑 새로운 단어의 첫번째 글자를비교charAt(0).

같으면 계속진행, 같지않으면 틀린사람이 졌습니다 메세지 표시 후 종료.

 

package p0521;

import java.util.Scanner;

public class WordGame {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
		Scanner scan = new Scanner(System.in);

		System.out.print("게임에 참가하는 인원은 몇명입니까?>> ");
		int inwon = scan.nextInt();

		int cnt = 0;

		String person[] = new String[inwon];

		for (int i = 0; i < person.length; i++) {
			System.out.print("참가자의 이름을 입력하세요>> ");
			person[i] = scan.next();
		}

		System.out.print("시작 단어를 입력하세요>> ");
		String sword = scan.next();
		System.out.printf("시작하는 단어는 %s 입니다.\n", sword); // 금요일

		while (true) {
			System.out.printf("%s>> ", person[cnt]); // 턴 바뀐 만큼 cnt 증가
			String newword = scan.next(); // 새로운 단어 계속 입력

			int str = sword.length() - 1; // 시작하는 단어의 마지막 글자

			if (sword.charAt(str) != newword.charAt(0)) { // 시작단어의 마지막 글자와 다음 단어의 처음 글자가 다르면
				System.out.printf("%s이(가) 졌습니다.", person[cnt]); // person[0] or person[1]
				break;
			} 
			else {
				cnt++;
				cnt %= person.length; // 턴이 바뀌는 증가 횟수를 사람 수로 나눈 나머지 값은 0 or 1
				sword = newword; // 입력한 단어를 시작하는 단어로 바꿔준 후
				continue; // while문으로 돌아감
			}

		}

	}

}

 

<출력결과>

'IT > Java' 카테고리의 다른 글

Java (객체지향메소드_Car)  (0) 2021.05.24
Java (객체지향_Car)  (0) 2021.05.21
Java (3차원 배열_2)  (0) 2021.05.14
Java (3차원 배열)  (0) 2021.05.14
Java (2차원 배열_성적처리 프로그램)  (0) 2021.05.14