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));
}
}
결과
'JAVA > 실습' 카테고리의 다른 글
[java][실습] 007 행렬의 곱셈 (0) | 2020.07.05 |
---|---|
[java][실습] 005 오름차순, 내림차순으로 배열요소 정렬 (0) | 2020.07.05 |
[java][실습] 004 배열 섞기 (0) | 2020.07.05 |
[java][실습] 003 배열에서 최대값과 최소값 찾기 (0) | 2020.07.05 |
[java][실습] 002 별 찍기(삼각형, 역삼각형, 반삼각형, 육각형) (0) | 2020.07.02 |