1. char[][] board;

클래스 내의 멤버들이 접근 가능한 멤버변수 배열 char[][] board를 선언한다.

 

2. makeBoard(int size) 

모든 항목이 0으로 초기화된 배열을 만든다.

매개변수로 배열 크기를 전달받아 그 크기만큼 배열을 만들 것이다.

char[][] makeBoard(int size) {
	
		board = new char[size][size];
		
		for(int i = 0; i<size; i++){
			for(int j = 0; j<size; j++) {
				board[i][j]= 'O'; 
			}
		}
		return board;
	}

 

3.  showArray(char[][] a)

배열의 결과를 출력하는 메서드를 만들었다.

void showArray(char[][] a) {
		for(char[] col : a) {
			for(char tmp : col) {
				System.out.print(tmp+" ");
			}
			System.out.println();
		}
	}

 

4. char[][] markBoard(int x, int y) {

인수를 전달 받아 해당 위치의 배열 요소를 X로 바꾼다. 

char[][] markBoard(int x, int y) {
		
		board[x-1][y-1] = 'X';
		
		return board;
	}

 

5. main( )

먼저 5*5 배열을 만든다.

콘솔에서 좌표값을 받아 표시한다.

public static void main(String[] args) {
		MarrayPrac_pointX mp = new MarrayPrac_pointX();
		mp.board = mp.makeBoard(5);
		mp.showArray(mp.board);
		
		System.out.println("원하는 위치의 좌표를 입력하시오.");
		Scanner scanner = new Scanner(System.in);
		System.out.println("x : ");
		int x = scanner.nextInt();
		System.out.println("y : ");
		int y = scanner.nextInt();
		
		scanner.close();
		
		mp.showArray(mp.markBoard(x, y));
		
	}

 

6. 전체 코드

public class MarrayPrac_pointX {
/* 좌표에 X표 하기
 * 입력한 2차원 좌표의 위치에 X 놓기
 */
	char[][] board;
		
	char[][] makeBoard(int size) {
	
		board = new char[size][size];
		
		for(int i = 0; i<size; i++){
			for(int j = 0; j<size; j++) {
				board[i][j]= 'O'; 
			}
		}
		return board;
	}
	
	void showArray(char[][] a) {
		for(char[] col : a) {
			for(char tmp : col) {
				System.out.print(tmp+" ");
			}
			System.out.println();
		}
	}
	
	char[][] markBoard(int x, int y) {
		
		board[x-1][y-1] = 'X';
		
		return board;
	}
	
	public static void main(String[] args) {
		MarrayPrac_pointX mp = new MarrayPrac_pointX();
		mp.board = mp.makeBoard(5);
		mp.showArray(mp.board);
		
		System.out.println("원하는 위치의 좌표를 입력하시오.");
		Scanner scanner = new Scanner(System.in);
		System.out.println("x : ");
		int x = scanner.nextInt();
		System.out.println("y : ");
		int y = scanner.nextInt();
		
		scanner.close();
		
		mp.showArray(mp.markBoard(x, y));
		
	}
}

 

결과

+ Recent posts