본문 바로가기

수업내용 정리

0515 수업 내용 - 간단 정리

* 주인장 정처기 시험으로 수업 하루 빠짐.

 

대략 간단하게 정리하면 2차원 배열, 보물찾기, 성적 수정, 2차원 배열 표시 방법, 좌표 찍기 배웠음.

그 외에도 2차원 배열에서 특정 열만 값을 집어 넣는다던가, 

 

1) 아스키 코드 활용

            int no1 = input.charAt(0) - '0'; //첫째자리 4 - a:97 A:65 0:48 '3'-'0'=3
            int no2 = input.charAt(1) - '0'; //둘째자리 2

 

 

 

2) 2차원 배열에 1차원 배열 값 넣기

		// 1차원배열 값을 2차원 배열에 넣기
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 4; j++) {
				box[i][j] = num[4 * i + j];
//				if (i != 4) {
//					box[i][j] = 0;
//				} else {
//					box[i][j] = 1;
//				}
			}

* 아스키코드 계산법

문자 = 숫자 = 숫자

'4' - '0' = 52 - 48 = 4

 

 

3) 문자로 치환하는 이유 (0515_6번 파일)

        // 1차원배열 값을 2차원 배열에 넣기 배열 5개5개
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                box[i][j] = "" + num[5 * i + j];
            }
        }

좌표를 입력 받고 X값으로 변경하기 위해서

box 값을 int가 아닌 String으로 받았음.

int형인 num을 string으로 바꾸기 위해서 앞에 문자열인 ""을 집어 넣음.

 

또한 box[5][5]로 선언 되어 있을 때

box[1][1]에 값을 넣고 싶다면 num[6]로 집어 넣으면 됨.

box[0][5]에 값을 넣고 싶다면 num[5]로 집어 넣으면 됨.

 

 

4) 성적 수정

           case 3:

                    System.out.println("수정할 학생 이름을 입력하세요.");
                    modifyName = scan.next();

                    int chk = 0; // 찾을 학생이 없을 경우 0, 있으면 1
                    for (int i = 0; i < count; i++) {
                        if (name[i].equals(modifyName)) {
                            System.out.println("[수정과목 선택]");
                            System.out.println("-----------------");
                            System.out.println("1. 국어");
                            System.out.println("2. 영어");
                            System.out.println("3. 수학");
                            System.out.println("수정할 과목을 선택하세요.");
                            input = scan.nextInt();
                            chk = 1; // 찾는 학생이 있을 경우 1로 변경

                            switch (input) {
                                case 1:
                                    System.out.println("현재 국어 점수 : " + score[i][0]);
                                    System.out.println("변경할 점수를 입력하세요");
                                    input = scan.nextInt();
                                    score[i][0] = input;
                                    System.out.println("[수정 완료 !!]");

                                    score[i][3] = score[i][0] + score[i][1] + score[i][2]; // 합계에 대한 부분

                                    System.out.println();
                                    avg[i] = score[i][3] / 3.0;

                                    break;

수정할 위치만 찍어주고 다시 변수 선언하면 됨.

chk는 찾는 학생이 없을 경우 다시 입력하라는 조건문을 만듬.

 

 

* 0515 링크

 

 

 

GitHub - RosePaku/bigdata_java: 빅데이터_자바의_정석

빅데이터_자바의_정석. Contribute to RosePaku/bigdata_java development by creating an account on GitHub.

github.com

 

728x90
반응형
LIST